![JAR search and dependency download from the Maven repository](/logo.png)
io.cloudshiftdev.awscdk.services.mediatailor.CfnPlaybackConfiguration.kt Maven / Gradle / Ivy
@file:Suppress("RedundantVisibilityModifier","RedundantUnitReturnType","RemoveRedundantQualifierName","unused","UnusedImport","ClassName","REDUNDANT_PROJECTION","DEPRECATION")
package io.cloudshiftdev.awscdk.services.mediatailor
import io.cloudshiftdev.awscdk.CfnResource
import io.cloudshiftdev.awscdk.CfnTag
import io.cloudshiftdev.awscdk.IInspectable
import io.cloudshiftdev.awscdk.IResolvable
import io.cloudshiftdev.awscdk.ITaggable
import io.cloudshiftdev.awscdk.TagManager
import io.cloudshiftdev.awscdk.TreeInspector
import io.cloudshiftdev.awscdk.common.CdkDslMarker
import io.cloudshiftdev.awscdk.common.CdkObject
import io.cloudshiftdev.awscdk.common.CdkObjectWrappers
import kotlin.Any
import kotlin.Boolean
import kotlin.Number
import kotlin.String
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
import io.cloudshiftdev.constructs.Construct as CloudshiftdevConstructsConstruct
import software.constructs.Construct as SoftwareConstructsConstruct
/**
* Adds a new playback configuration to AWS Elemental MediaTailor .
*
* Example:
*
* ```
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import io.cloudshiftdev.awscdk.services.mediatailor.*;
* Object configurationAliases;
* CfnPlaybackConfiguration cfnPlaybackConfiguration = CfnPlaybackConfiguration.Builder.create(this,
* "MyCfnPlaybackConfiguration")
* .adDecisionServerUrl("adDecisionServerUrl")
* .name("name")
* .videoContentSourceUrl("videoContentSourceUrl")
* // the properties below are optional
* .availSuppression(AvailSuppressionProperty.builder()
* .fillPolicy("fillPolicy")
* .mode("mode")
* .value("value")
* .build())
* .bumper(BumperProperty.builder()
* .endUrl("endUrl")
* .startUrl("startUrl")
* .build())
* .cdnConfiguration(CdnConfigurationProperty.builder()
* .adSegmentUrlPrefix("adSegmentUrlPrefix")
* .contentSegmentUrlPrefix("contentSegmentUrlPrefix")
* .build())
* .configurationAliases(Map.of(
* "configurationAliasesKey", configurationAliases))
* .dashConfiguration(DashConfigurationProperty.builder()
* .manifestEndpointPrefix("manifestEndpointPrefix")
* .mpdLocation("mpdLocation")
* .originManifestType("originManifestType")
* .build())
* .hlsConfiguration(HlsConfigurationProperty.builder()
* .manifestEndpointPrefix("manifestEndpointPrefix")
* .build())
* .livePreRollConfiguration(LivePreRollConfigurationProperty.builder()
* .adDecisionServerUrl("adDecisionServerUrl")
* .maxDurationSeconds(123)
* .build())
* .manifestProcessingRules(ManifestProcessingRulesProperty.builder()
* .adMarkerPassthrough(AdMarkerPassthroughProperty.builder()
* .enabled(false)
* .build())
* .build())
* .personalizationThresholdSeconds(123)
* .slateAdUrl("slateAdUrl")
* .tags(List.of(CfnTag.builder()
* .key("key")
* .value("value")
* .build()))
* .transcodeProfileName("transcodeProfileName")
* .build();
* ```
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html)
*/
public open class CfnPlaybackConfiguration(
cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration,
) : CfnResource(cdkObject),
IInspectable,
ITaggable {
public constructor(
scope: CloudshiftdevConstructsConstruct,
id: String,
props: CfnPlaybackConfigurationProps,
) :
this(software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration(scope.let(CloudshiftdevConstructsConstruct.Companion::unwrap),
id, props.let(CfnPlaybackConfigurationProps.Companion::unwrap))
)
public constructor(
scope: CloudshiftdevConstructsConstruct,
id: String,
props: CfnPlaybackConfigurationProps.Builder.() -> Unit,
) : this(scope, id, CfnPlaybackConfigurationProps(props)
)
/**
* The URL for the ad decision server (ADS).
*/
public open fun adDecisionServerUrl(): String = unwrap(this).getAdDecisionServerUrl()
/**
* The URL for the ad decision server (ADS).
*/
public open fun adDecisionServerUrl(`value`: String) {
unwrap(this).setAdDecisionServerUrl(`value`)
}
/**
* The URL generated by MediaTailor to initiate a playback session.
*
* The session uses server-side reporting. This setting is ignored in PUT operations.
*/
public open fun attrDashConfigurationManifestEndpointPrefix(): String =
unwrap(this).getAttrDashConfigurationManifestEndpointPrefix()
/**
* The URL that is used to initiate a playback session for devices that support Apple HLS.
*
* The session uses server-side reporting.
*/
public open fun attrHlsConfigurationManifestEndpointPrefix(): String =
unwrap(this).getAttrHlsConfigurationManifestEndpointPrefix()
/**
* The Amazon Resource Name (ARN) for the playback configuration.
*/
public open fun attrPlaybackConfigurationArn(): String =
unwrap(this).getAttrPlaybackConfigurationArn()
/**
* The URL that the player accesses to get a manifest from MediaTailor .
*
* This session will use server-side reporting.
*/
public open fun attrPlaybackEndpointPrefix(): String =
unwrap(this).getAttrPlaybackEndpointPrefix()
/**
* The URL that the player uses to initialize a session that uses client-side reporting.
*/
public open fun attrSessionInitializationEndpointPrefix(): String =
unwrap(this).getAttrSessionInitializationEndpointPrefix()
/**
* The configuration for avail suppression, also known as ad suppression.
*/
public open fun availSuppression(): Any? = unwrap(this).getAvailSuppression()
/**
* The configuration for avail suppression, also known as ad suppression.
*/
public open fun availSuppression(`value`: IResolvable) {
unwrap(this).setAvailSuppression(`value`.let(IResolvable.Companion::unwrap))
}
/**
* The configuration for avail suppression, also known as ad suppression.
*/
public open fun availSuppression(`value`: AvailSuppressionProperty) {
unwrap(this).setAvailSuppression(`value`.let(AvailSuppressionProperty.Companion::unwrap))
}
/**
* The configuration for avail suppression, also known as ad suppression.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("0722650ed841e5873f8055a23de5d9e8f70b25b0fb992a4c10f4b5f4c88910ad")
public open fun availSuppression(`value`: AvailSuppressionProperty.Builder.() -> Unit): Unit =
availSuppression(AvailSuppressionProperty(`value`))
/**
* The configuration for bumpers.
*/
public open fun bumper(): Any? = unwrap(this).getBumper()
/**
* The configuration for bumpers.
*/
public open fun bumper(`value`: IResolvable) {
unwrap(this).setBumper(`value`.let(IResolvable.Companion::unwrap))
}
/**
* The configuration for bumpers.
*/
public open fun bumper(`value`: BumperProperty) {
unwrap(this).setBumper(`value`.let(BumperProperty.Companion::unwrap))
}
/**
* The configuration for bumpers.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("e446cdeb96d372745cb057fa05e69cb985c66ff86783a7a9538e0f3de9ec01b9")
public open fun bumper(`value`: BumperProperty.Builder.() -> Unit): Unit =
bumper(BumperProperty(`value`))
/**
* The configuration for using a content delivery network (CDN), like Amazon CloudFront, for
* content and ad segment management.
*/
public open fun cdnConfiguration(): Any? = unwrap(this).getCdnConfiguration()
/**
* The configuration for using a content delivery network (CDN), like Amazon CloudFront, for
* content and ad segment management.
*/
public open fun cdnConfiguration(`value`: IResolvable) {
unwrap(this).setCdnConfiguration(`value`.let(IResolvable.Companion::unwrap))
}
/**
* The configuration for using a content delivery network (CDN), like Amazon CloudFront, for
* content and ad segment management.
*/
public open fun cdnConfiguration(`value`: CdnConfigurationProperty) {
unwrap(this).setCdnConfiguration(`value`.let(CdnConfigurationProperty.Companion::unwrap))
}
/**
* The configuration for using a content delivery network (CDN), like Amazon CloudFront, for
* content and ad segment management.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("318c65bbcbf6cc022364e545d1f072f30866f39c9ff5813e031ff2091c20c722")
public open fun cdnConfiguration(`value`: CdnConfigurationProperty.Builder.() -> Unit): Unit =
cdnConfiguration(CdnConfigurationProperty(`value`))
/**
* The player parameters and aliases used as dynamic variables during session initialization.
*/
public open fun configurationAliases(): Any? = unwrap(this).getConfigurationAliases()
/**
* The player parameters and aliases used as dynamic variables during session initialization.
*/
public open fun configurationAliases(`value`: IResolvable) {
unwrap(this).setConfigurationAliases(`value`.let(IResolvable.Companion::unwrap))
}
/**
* The player parameters and aliases used as dynamic variables during session initialization.
*/
public open fun configurationAliases(`value`: Map) {
unwrap(this).setConfigurationAliases(`value`.mapValues{CdkObjectWrappers.unwrap(it.value)})
}
/**
* The configuration for a DASH source.
*/
public open fun dashConfiguration(): Any? = unwrap(this).getDashConfiguration()
/**
* The configuration for a DASH source.
*/
public open fun dashConfiguration(`value`: IResolvable) {
unwrap(this).setDashConfiguration(`value`.let(IResolvable.Companion::unwrap))
}
/**
* The configuration for a DASH source.
*/
public open fun dashConfiguration(`value`: DashConfigurationProperty) {
unwrap(this).setDashConfiguration(`value`.let(DashConfigurationProperty.Companion::unwrap))
}
/**
* The configuration for a DASH source.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("f55999a898fbdbc05716b64f8bab8c0a0c1881e4009ca03e87b678d241a46bd2")
public open fun dashConfiguration(`value`: DashConfigurationProperty.Builder.() -> Unit): Unit =
dashConfiguration(DashConfigurationProperty(`value`))
/**
* The configuration for HLS content.
*/
public open fun hlsConfiguration(): Any? = unwrap(this).getHlsConfiguration()
/**
* The configuration for HLS content.
*/
public open fun hlsConfiguration(`value`: IResolvable) {
unwrap(this).setHlsConfiguration(`value`.let(IResolvable.Companion::unwrap))
}
/**
* The configuration for HLS content.
*/
public open fun hlsConfiguration(`value`: HlsConfigurationProperty) {
unwrap(this).setHlsConfiguration(`value`.let(HlsConfigurationProperty.Companion::unwrap))
}
/**
* The configuration for HLS content.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("1436f9669210cdede04e252efc34768cbd7663a3eaac3fec573f53570ba4e0ab")
public open fun hlsConfiguration(`value`: HlsConfigurationProperty.Builder.() -> Unit): Unit =
hlsConfiguration(HlsConfigurationProperty(`value`))
/**
* Examines the CloudFormation resource and discloses attributes.
*
* @param inspector tree inspector to collect and process attributes.
*/
public override fun inspect(inspector: TreeInspector) {
unwrap(this).inspect(inspector.let(TreeInspector.Companion::unwrap))
}
/**
* The configuration for pre-roll ad insertion.
*/
public open fun livePreRollConfiguration(): Any? = unwrap(this).getLivePreRollConfiguration()
/**
* The configuration for pre-roll ad insertion.
*/
public open fun livePreRollConfiguration(`value`: IResolvable) {
unwrap(this).setLivePreRollConfiguration(`value`.let(IResolvable.Companion::unwrap))
}
/**
* The configuration for pre-roll ad insertion.
*/
public open fun livePreRollConfiguration(`value`: LivePreRollConfigurationProperty) {
unwrap(this).setLivePreRollConfiguration(`value`.let(LivePreRollConfigurationProperty.Companion::unwrap))
}
/**
* The configuration for pre-roll ad insertion.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("0db95b6706374dbec6d68c46cf9a9408d732d7dc66026fc2ed75561b78f5011e")
public open
fun livePreRollConfiguration(`value`: LivePreRollConfigurationProperty.Builder.() -> Unit):
Unit = livePreRollConfiguration(LivePreRollConfigurationProperty(`value`))
/**
* The configuration for manifest processing rules.
*/
public open fun manifestProcessingRules(): Any? = unwrap(this).getManifestProcessingRules()
/**
* The configuration for manifest processing rules.
*/
public open fun manifestProcessingRules(`value`: IResolvable) {
unwrap(this).setManifestProcessingRules(`value`.let(IResolvable.Companion::unwrap))
}
/**
* The configuration for manifest processing rules.
*/
public open fun manifestProcessingRules(`value`: ManifestProcessingRulesProperty) {
unwrap(this).setManifestProcessingRules(`value`.let(ManifestProcessingRulesProperty.Companion::unwrap))
}
/**
* The configuration for manifest processing rules.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("520c3725b546ad1bc5f63986b44d4cde1095720d9f0da56ad8b25859a64e80a5")
public open
fun manifestProcessingRules(`value`: ManifestProcessingRulesProperty.Builder.() -> Unit): Unit
= manifestProcessingRules(ManifestProcessingRulesProperty(`value`))
/**
* The identifier for the playback configuration.
*/
public open fun name(): String = unwrap(this).getName()
/**
* The identifier for the playback configuration.
*/
public open fun name(`value`: String) {
unwrap(this).setName(`value`)
}
/**
* Defines the maximum duration of underfilled ad time (in seconds) allowed in an ad break.
*/
public open fun personalizationThresholdSeconds(): Number? =
unwrap(this).getPersonalizationThresholdSeconds()
/**
* Defines the maximum duration of underfilled ad time (in seconds) allowed in an ad break.
*/
public open fun personalizationThresholdSeconds(`value`: Number) {
unwrap(this).setPersonalizationThresholdSeconds(`value`)
}
/**
* The URL for a video asset to transcode and use to fill in time that's not used by ads.
*/
public open fun slateAdUrl(): String? = unwrap(this).getSlateAdUrl()
/**
* The URL for a video asset to transcode and use to fill in time that's not used by ads.
*/
public open fun slateAdUrl(`value`: String) {
unwrap(this).setSlateAdUrl(`value`)
}
/**
* Tag Manager which manages the tags for this resource.
*/
public override fun tags(): TagManager = unwrap(this).getTags().let(TagManager::wrap)
/**
* The tags to assign to the playback configuration.
*/
public open fun tagsRaw(): List = unwrap(this).getTagsRaw()?.map(CfnTag::wrap) ?:
emptyList()
/**
* The tags to assign to the playback configuration.
*/
public open fun tagsRaw(`value`: List) {
unwrap(this).setTagsRaw(`value`.map(CfnTag.Companion::unwrap))
}
/**
* The tags to assign to the playback configuration.
*/
public open fun tagsRaw(vararg `value`: CfnTag): Unit = tagsRaw(`value`.toList())
/**
* The name that is used to associate this playback configuration with a custom transcode profile.
*/
public open fun transcodeProfileName(): String? = unwrap(this).getTranscodeProfileName()
/**
* The name that is used to associate this playback configuration with a custom transcode profile.
*/
public open fun transcodeProfileName(`value`: String) {
unwrap(this).setTranscodeProfileName(`value`)
}
/**
* The URL prefix for the parent manifest for the stream, minus the asset ID.
*/
public open fun videoContentSourceUrl(): String = unwrap(this).getVideoContentSourceUrl()
/**
* The URL prefix for the parent manifest for the stream, minus the asset ID.
*/
public open fun videoContentSourceUrl(`value`: String) {
unwrap(this).setVideoContentSourceUrl(`value`)
}
/**
* A fluent builder for [io.cloudshiftdev.awscdk.services.mediatailor.CfnPlaybackConfiguration].
*/
@CdkDslMarker
public interface Builder {
/**
* 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.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-addecisionserverurl)
* @param adDecisionServerUrl The URL for the ad decision server (ADS).
*/
public fun adDecisionServerUrl(adDecisionServerUrl: String)
/**
* 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) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-availsuppression)
* @param availSuppression The configuration for avail suppression, also known as ad
* suppression.
*/
public fun availSuppression(availSuppression: IResolvable)
/**
* 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) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-availsuppression)
* @param availSuppression The configuration for avail suppression, also known as ad
* suppression.
*/
public fun availSuppression(availSuppression: AvailSuppressionProperty)
/**
* 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) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-availsuppression)
* @param availSuppression The configuration for avail suppression, also known as ad
* suppression.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("d6924f99449990b6b0d5dd995c60cf2b6f1113dcda5bcf6c7259ebe0819a4567")
public fun availSuppression(availSuppression: AvailSuppressionProperty.Builder.() -> Unit)
/**
* 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) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-bumper)
* @param bumper The configuration for bumpers.
*/
public fun bumper(bumper: IResolvable)
/**
* 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) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-bumper)
* @param bumper The configuration for bumpers.
*/
public fun bumper(bumper: BumperProperty)
/**
* 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) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-bumper)
* @param bumper The configuration for bumpers.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("e5452ff38542cc70684a10a1039519c9a104dc7f382774202e749c2829ff7448")
public fun bumper(bumper: BumperProperty.Builder.() -> Unit)
/**
* The configuration for using a content delivery network (CDN), like Amazon CloudFront, for
* content and ad segment management.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration)
* @param cdnConfiguration The configuration for using a content delivery network (CDN), like
* Amazon CloudFront, for content and ad segment management.
*/
public fun cdnConfiguration(cdnConfiguration: IResolvable)
/**
* The configuration for using a content delivery network (CDN), like Amazon CloudFront, for
* content and ad segment management.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration)
* @param cdnConfiguration The configuration for using a content delivery network (CDN), like
* Amazon CloudFront, for content and ad segment management.
*/
public fun cdnConfiguration(cdnConfiguration: CdnConfigurationProperty)
/**
* The configuration for using a content delivery network (CDN), like Amazon CloudFront, for
* content and ad segment management.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration)
* @param cdnConfiguration The configuration for using a content delivery network (CDN), like
* Amazon CloudFront, for content and ad segment management.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("0de38d0cd8cd9cf62650be13037818eec5e7b683f6549e8589f2a53dcb4a62d1")
public fun cdnConfiguration(cdnConfiguration: CdnConfigurationProperty.Builder.() -> Unit)
/**
* The player parameters and aliases used as dynamic variables during session initialization.
*
* For more information, see [Domain
* Variables](https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-configurationaliases)
* @param configurationAliases The player parameters and aliases used as dynamic variables
* during session initialization.
*/
public fun configurationAliases(configurationAliases: IResolvable)
/**
* The player parameters and aliases used as dynamic variables during session initialization.
*
* For more information, see [Domain
* Variables](https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-configurationaliases)
* @param configurationAliases The player parameters and aliases used as dynamic variables
* during session initialization.
*/
public fun configurationAliases(configurationAliases: Map)
/**
* The configuration for a DASH source.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration)
* @param dashConfiguration The configuration for a DASH source.
*/
public fun dashConfiguration(dashConfiguration: IResolvable)
/**
* The configuration for a DASH source.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration)
* @param dashConfiguration The configuration for a DASH source.
*/
public fun dashConfiguration(dashConfiguration: DashConfigurationProperty)
/**
* The configuration for a DASH source.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration)
* @param dashConfiguration The configuration for a DASH source.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("9721fe66029a0ca3f322a6e86e4a46b6a19242ed6d826a69e69cdab00427a55f")
public fun dashConfiguration(dashConfiguration: DashConfigurationProperty.Builder.() -> Unit)
/**
* The configuration for HLS content.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-hlsconfiguration)
* @param hlsConfiguration The configuration for HLS content.
*/
public fun hlsConfiguration(hlsConfiguration: IResolvable)
/**
* The configuration for HLS content.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-hlsconfiguration)
* @param hlsConfiguration The configuration for HLS content.
*/
public fun hlsConfiguration(hlsConfiguration: HlsConfigurationProperty)
/**
* The configuration for HLS content.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-hlsconfiguration)
* @param hlsConfiguration The configuration for HLS content.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("5513dff53429d8e9883e964e7e6c98d600e1f0d5cc869ff26f4eec8a3d6e689b")
public fun hlsConfiguration(hlsConfiguration: HlsConfigurationProperty.Builder.() -> Unit)
/**
* The configuration for pre-roll ad insertion.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration)
* @param livePreRollConfiguration The configuration for pre-roll ad insertion.
*/
public fun livePreRollConfiguration(livePreRollConfiguration: IResolvable)
/**
* The configuration for pre-roll ad insertion.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration)
* @param livePreRollConfiguration The configuration for pre-roll ad insertion.
*/
public fun livePreRollConfiguration(livePreRollConfiguration: LivePreRollConfigurationProperty)
/**
* The configuration for pre-roll ad insertion.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration)
* @param livePreRollConfiguration The configuration for pre-roll ad insertion.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("f82feb9340165b402df0727d1542a0723dda6732cb73a8fadfd92f8aafde4ad8")
public
fun livePreRollConfiguration(livePreRollConfiguration: LivePreRollConfigurationProperty.Builder.() -> Unit)
/**
* The configuration for manifest processing rules.
*
* Manifest processing rules enable customization of the personalized manifests created by
* MediaTailor.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-manifestprocessingrules)
* @param manifestProcessingRules The configuration for manifest processing rules.
*/
public fun manifestProcessingRules(manifestProcessingRules: IResolvable)
/**
* The configuration for manifest processing rules.
*
* Manifest processing rules enable customization of the personalized manifests created by
* MediaTailor.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-manifestprocessingrules)
* @param manifestProcessingRules The configuration for manifest processing rules.
*/
public fun manifestProcessingRules(manifestProcessingRules: ManifestProcessingRulesProperty)
/**
* The configuration for manifest processing rules.
*
* Manifest processing rules enable customization of the personalized manifests created by
* MediaTailor.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-manifestprocessingrules)
* @param manifestProcessingRules The configuration for manifest processing rules.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("44a04b713c6699cdab0097b7bfa1aa5622cbb24a44a3a812263d130b49d05e34")
public
fun manifestProcessingRules(manifestProcessingRules: ManifestProcessingRulesProperty.Builder.() -> Unit)
/**
* The identifier for the playback configuration.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-name)
* @param name The identifier for the playback configuration.
*/
public fun name(name: String)
/**
* 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) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-personalizationthresholdseconds)
* @param personalizationThresholdSeconds Defines the maximum duration of underfilled ad time
* (in seconds) allowed in an ad break.
*/
public fun personalizationThresholdSeconds(personalizationThresholdSeconds: Number)
/**
* The URL for a 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 playback configurations. For VPAID, the slate is required
* because MediaTailor provides it in the slots designated for dynamic ad content. The slate must
* be a high-quality asset that contains both audio and video.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-slateadurl)
* @param slateAdUrl The URL for a video asset to transcode and use to fill in time that's not
* used by ads.
*/
public fun slateAdUrl(slateAdUrl: String)
/**
* The tags to assign to the playback configuration.
*
* Tags are key-value pairs that you can associate with Amazon resources to help with
* organization, access control, and cost tracking. For more information, see [Tagging AWS
* Elemental MediaTailor Resources](https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html)
* .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-tags)
* @param tags The tags to assign to the playback configuration.
*/
public fun tags(tags: List)
/**
* The tags to assign to the playback configuration.
*
* Tags are key-value pairs that you can associate with Amazon resources to help with
* organization, access control, and cost tracking. For more information, see [Tagging AWS
* Elemental MediaTailor Resources](https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html)
* .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-tags)
* @param tags The tags to assign to the playback configuration.
*/
public fun tags(vararg tags: CfnTag)
/**
* 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.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-transcodeprofilename)
* @param transcodeProfileName The name that is used to associate this playback configuration
* with a custom transcode profile.
*/
public fun transcodeProfileName(transcodeProfileName: String)
/**
* The URL prefix for the parent manifest for the stream, minus the asset ID.
*
* The maximum length is 512 characters.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-videocontentsourceurl)
* @param videoContentSourceUrl The URL prefix for the parent manifest for the stream, minus the
* asset ID.
*/
public fun videoContentSourceUrl(videoContentSourceUrl: String)
}
private class BuilderImpl(
scope: SoftwareConstructsConstruct,
id: String,
) : Builder {
private val cdkBuilder:
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.Builder =
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.Builder.create(scope,
id)
/**
* 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.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-addecisionserverurl)
* @param adDecisionServerUrl The URL for the ad decision server (ADS).
*/
override fun adDecisionServerUrl(adDecisionServerUrl: String) {
cdkBuilder.adDecisionServerUrl(adDecisionServerUrl)
}
/**
* 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) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-availsuppression)
* @param availSuppression The configuration for avail suppression, also known as ad
* suppression.
*/
override fun availSuppression(availSuppression: IResolvable) {
cdkBuilder.availSuppression(availSuppression.let(IResolvable.Companion::unwrap))
}
/**
* 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) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-availsuppression)
* @param availSuppression The configuration for avail suppression, also known as ad
* suppression.
*/
override fun availSuppression(availSuppression: AvailSuppressionProperty) {
cdkBuilder.availSuppression(availSuppression.let(AvailSuppressionProperty.Companion::unwrap))
}
/**
* 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) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-availsuppression)
* @param availSuppression The configuration for avail suppression, also known as ad
* suppression.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("d6924f99449990b6b0d5dd995c60cf2b6f1113dcda5bcf6c7259ebe0819a4567")
override fun availSuppression(availSuppression: AvailSuppressionProperty.Builder.() -> Unit):
Unit = availSuppression(AvailSuppressionProperty(availSuppression))
/**
* 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) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-bumper)
* @param bumper The configuration for bumpers.
*/
override fun bumper(bumper: IResolvable) {
cdkBuilder.bumper(bumper.let(IResolvable.Companion::unwrap))
}
/**
* 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) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-bumper)
* @param bumper The configuration for bumpers.
*/
override fun bumper(bumper: BumperProperty) {
cdkBuilder.bumper(bumper.let(BumperProperty.Companion::unwrap))
}
/**
* 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) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-bumper)
* @param bumper The configuration for bumpers.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("e5452ff38542cc70684a10a1039519c9a104dc7f382774202e749c2829ff7448")
override fun bumper(bumper: BumperProperty.Builder.() -> Unit): Unit =
bumper(BumperProperty(bumper))
/**
* The configuration for using a content delivery network (CDN), like Amazon CloudFront, for
* content and ad segment management.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration)
* @param cdnConfiguration The configuration for using a content delivery network (CDN), like
* Amazon CloudFront, for content and ad segment management.
*/
override fun cdnConfiguration(cdnConfiguration: IResolvable) {
cdkBuilder.cdnConfiguration(cdnConfiguration.let(IResolvable.Companion::unwrap))
}
/**
* The configuration for using a content delivery network (CDN), like Amazon CloudFront, for
* content and ad segment management.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration)
* @param cdnConfiguration The configuration for using a content delivery network (CDN), like
* Amazon CloudFront, for content and ad segment management.
*/
override fun cdnConfiguration(cdnConfiguration: CdnConfigurationProperty) {
cdkBuilder.cdnConfiguration(cdnConfiguration.let(CdnConfigurationProperty.Companion::unwrap))
}
/**
* The configuration for using a content delivery network (CDN), like Amazon CloudFront, for
* content and ad segment management.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration)
* @param cdnConfiguration The configuration for using a content delivery network (CDN), like
* Amazon CloudFront, for content and ad segment management.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("0de38d0cd8cd9cf62650be13037818eec5e7b683f6549e8589f2a53dcb4a62d1")
override fun cdnConfiguration(cdnConfiguration: CdnConfigurationProperty.Builder.() -> Unit):
Unit = cdnConfiguration(CdnConfigurationProperty(cdnConfiguration))
/**
* The player parameters and aliases used as dynamic variables during session initialization.
*
* For more information, see [Domain
* Variables](https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-configurationaliases)
* @param configurationAliases The player parameters and aliases used as dynamic variables
* during session initialization.
*/
override fun configurationAliases(configurationAliases: IResolvable) {
cdkBuilder.configurationAliases(configurationAliases.let(IResolvable.Companion::unwrap))
}
/**
* The player parameters and aliases used as dynamic variables during session initialization.
*
* For more information, see [Domain
* Variables](https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-configurationaliases)
* @param configurationAliases The player parameters and aliases used as dynamic variables
* during session initialization.
*/
override fun configurationAliases(configurationAliases: Map) {
cdkBuilder.configurationAliases(configurationAliases.mapValues{CdkObjectWrappers.unwrap(it.value)})
}
/**
* The configuration for a DASH source.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration)
* @param dashConfiguration The configuration for a DASH source.
*/
override fun dashConfiguration(dashConfiguration: IResolvable) {
cdkBuilder.dashConfiguration(dashConfiguration.let(IResolvable.Companion::unwrap))
}
/**
* The configuration for a DASH source.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration)
* @param dashConfiguration The configuration for a DASH source.
*/
override fun dashConfiguration(dashConfiguration: DashConfigurationProperty) {
cdkBuilder.dashConfiguration(dashConfiguration.let(DashConfigurationProperty.Companion::unwrap))
}
/**
* The configuration for a DASH source.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration)
* @param dashConfiguration The configuration for a DASH source.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("9721fe66029a0ca3f322a6e86e4a46b6a19242ed6d826a69e69cdab00427a55f")
override fun dashConfiguration(dashConfiguration: DashConfigurationProperty.Builder.() -> Unit):
Unit = dashConfiguration(DashConfigurationProperty(dashConfiguration))
/**
* The configuration for HLS content.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-hlsconfiguration)
* @param hlsConfiguration The configuration for HLS content.
*/
override fun hlsConfiguration(hlsConfiguration: IResolvable) {
cdkBuilder.hlsConfiguration(hlsConfiguration.let(IResolvable.Companion::unwrap))
}
/**
* The configuration for HLS content.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-hlsconfiguration)
* @param hlsConfiguration The configuration for HLS content.
*/
override fun hlsConfiguration(hlsConfiguration: HlsConfigurationProperty) {
cdkBuilder.hlsConfiguration(hlsConfiguration.let(HlsConfigurationProperty.Companion::unwrap))
}
/**
* The configuration for HLS content.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-hlsconfiguration)
* @param hlsConfiguration The configuration for HLS content.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("5513dff53429d8e9883e964e7e6c98d600e1f0d5cc869ff26f4eec8a3d6e689b")
override fun hlsConfiguration(hlsConfiguration: HlsConfigurationProperty.Builder.() -> Unit):
Unit = hlsConfiguration(HlsConfigurationProperty(hlsConfiguration))
/**
* The configuration for pre-roll ad insertion.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration)
* @param livePreRollConfiguration The configuration for pre-roll ad insertion.
*/
override fun livePreRollConfiguration(livePreRollConfiguration: IResolvable) {
cdkBuilder.livePreRollConfiguration(livePreRollConfiguration.let(IResolvable.Companion::unwrap))
}
/**
* The configuration for pre-roll ad insertion.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration)
* @param livePreRollConfiguration The configuration for pre-roll ad insertion.
*/
override
fun livePreRollConfiguration(livePreRollConfiguration: LivePreRollConfigurationProperty) {
cdkBuilder.livePreRollConfiguration(livePreRollConfiguration.let(LivePreRollConfigurationProperty.Companion::unwrap))
}
/**
* The configuration for pre-roll ad insertion.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration)
* @param livePreRollConfiguration The configuration for pre-roll ad insertion.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("f82feb9340165b402df0727d1542a0723dda6732cb73a8fadfd92f8aafde4ad8")
override
fun livePreRollConfiguration(livePreRollConfiguration: LivePreRollConfigurationProperty.Builder.() -> Unit):
Unit = livePreRollConfiguration(LivePreRollConfigurationProperty(livePreRollConfiguration))
/**
* The configuration for manifest processing rules.
*
* Manifest processing rules enable customization of the personalized manifests created by
* MediaTailor.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-manifestprocessingrules)
* @param manifestProcessingRules The configuration for manifest processing rules.
*/
override fun manifestProcessingRules(manifestProcessingRules: IResolvable) {
cdkBuilder.manifestProcessingRules(manifestProcessingRules.let(IResolvable.Companion::unwrap))
}
/**
* The configuration for manifest processing rules.
*
* Manifest processing rules enable customization of the personalized manifests created by
* MediaTailor.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-manifestprocessingrules)
* @param manifestProcessingRules The configuration for manifest processing rules.
*/
override fun manifestProcessingRules(manifestProcessingRules: ManifestProcessingRulesProperty) {
cdkBuilder.manifestProcessingRules(manifestProcessingRules.let(ManifestProcessingRulesProperty.Companion::unwrap))
}
/**
* The configuration for manifest processing rules.
*
* Manifest processing rules enable customization of the personalized manifests created by
* MediaTailor.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-manifestprocessingrules)
* @param manifestProcessingRules The configuration for manifest processing rules.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("44a04b713c6699cdab0097b7bfa1aa5622cbb24a44a3a812263d130b49d05e34")
override
fun manifestProcessingRules(manifestProcessingRules: ManifestProcessingRulesProperty.Builder.() -> Unit):
Unit = manifestProcessingRules(ManifestProcessingRulesProperty(manifestProcessingRules))
/**
* The identifier for the playback configuration.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-name)
* @param name The identifier for the playback configuration.
*/
override fun name(name: String) {
cdkBuilder.name(name)
}
/**
* 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) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-personalizationthresholdseconds)
* @param personalizationThresholdSeconds Defines the maximum duration of underfilled ad time
* (in seconds) allowed in an ad break.
*/
override fun personalizationThresholdSeconds(personalizationThresholdSeconds: Number) {
cdkBuilder.personalizationThresholdSeconds(personalizationThresholdSeconds)
}
/**
* The URL for a 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 playback configurations. For VPAID, the slate is required
* because MediaTailor provides it in the slots designated for dynamic ad content. The slate must
* be a high-quality asset that contains both audio and video.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-slateadurl)
* @param slateAdUrl The URL for a video asset to transcode and use to fill in time that's not
* used by ads.
*/
override fun slateAdUrl(slateAdUrl: String) {
cdkBuilder.slateAdUrl(slateAdUrl)
}
/**
* The tags to assign to the playback configuration.
*
* Tags are key-value pairs that you can associate with Amazon resources to help with
* organization, access control, and cost tracking. For more information, see [Tagging AWS
* Elemental MediaTailor Resources](https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html)
* .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-tags)
* @param tags The tags to assign to the playback configuration.
*/
override fun tags(tags: List) {
cdkBuilder.tags(tags.map(CfnTag.Companion::unwrap))
}
/**
* The tags to assign to the playback configuration.
*
* Tags are key-value pairs that you can associate with Amazon resources to help with
* organization, access control, and cost tracking. For more information, see [Tagging AWS
* Elemental MediaTailor Resources](https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html)
* .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-tags)
* @param tags The tags to assign to the playback configuration.
*/
override fun tags(vararg tags: CfnTag): Unit = tags(tags.toList())
/**
* 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.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-transcodeprofilename)
* @param transcodeProfileName The name that is used to associate this playback configuration
* with a custom transcode profile.
*/
override fun transcodeProfileName(transcodeProfileName: String) {
cdkBuilder.transcodeProfileName(transcodeProfileName)
}
/**
* The URL prefix for the parent manifest for the stream, minus the asset ID.
*
* The maximum length is 512 characters.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-videocontentsourceurl)
* @param videoContentSourceUrl The URL prefix for the parent manifest for the stream, minus the
* asset ID.
*/
override fun videoContentSourceUrl(videoContentSourceUrl: String) {
cdkBuilder.videoContentSourceUrl(videoContentSourceUrl)
}
public fun build(): software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration =
cdkBuilder.build()
}
public companion object {
public val CFN_RESOURCE_TYPE_NAME: String =
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.CFN_RESOURCE_TYPE_NAME
public operator fun invoke(
scope: CloudshiftdevConstructsConstruct,
id: String,
block: Builder.() -> Unit = {},
): CfnPlaybackConfiguration {
val builderImpl = BuilderImpl(CloudshiftdevConstructsConstruct.unwrap(scope), id)
return CfnPlaybackConfiguration(builderImpl.apply(block).build())
}
internal
fun wrap(cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration):
CfnPlaybackConfiguration = CfnPlaybackConfiguration(cdkObject)
internal fun unwrap(wrapped: CfnPlaybackConfiguration):
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration = wrapped.cdkObject as
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration
}
/**
* For HLS, when set to `true` , MediaTailor passes through `EXT-X-CUE-IN` , `EXT-X-CUE-OUT` , and
* `EXT-X-SPLICEPOINT-SCTE35` ad markers from the origin manifest to the MediaTailor personalized
* manifest.
*
* No logic is applied to these ad markers. For example, if `EXT-X-CUE-OUT` has a value of `60` ,
* but no ads are filled for that ad break, MediaTailor will not set the value to `0` .
*
* Example:
*
* ```
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import io.cloudshiftdev.awscdk.services.mediatailor.*;
* AdMarkerPassthroughProperty adMarkerPassthroughProperty = AdMarkerPassthroughProperty.builder()
* .enabled(false)
* .build();
* ```
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-admarkerpassthrough.html)
*/
public interface AdMarkerPassthroughProperty {
/**
* Enables ad marker passthrough for your configuration.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-admarkerpassthrough.html#cfn-mediatailor-playbackconfiguration-admarkerpassthrough-enabled)
*/
public fun enabled(): Any? = unwrap(this).getEnabled()
/**
* A builder for [AdMarkerPassthroughProperty]
*/
@CdkDslMarker
public interface Builder {
/**
* @param enabled Enables ad marker passthrough for your configuration.
*/
public fun enabled(enabled: Boolean)
/**
* @param enabled Enables ad marker passthrough for your configuration.
*/
public fun enabled(enabled: IResolvable)
}
private class BuilderImpl : Builder {
private val cdkBuilder:
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.AdMarkerPassthroughProperty.Builder
=
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.AdMarkerPassthroughProperty.builder()
/**
* @param enabled Enables ad marker passthrough for your configuration.
*/
override fun enabled(enabled: Boolean) {
cdkBuilder.enabled(enabled)
}
/**
* @param enabled Enables ad marker passthrough for your configuration.
*/
override fun enabled(enabled: IResolvable) {
cdkBuilder.enabled(enabled.let(IResolvable.Companion::unwrap))
}
public fun build():
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.AdMarkerPassthroughProperty
= cdkBuilder.build()
}
private class Wrapper(
cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.AdMarkerPassthroughProperty,
) : CdkObject(cdkObject),
AdMarkerPassthroughProperty {
/**
* Enables ad marker passthrough for your configuration.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-admarkerpassthrough.html#cfn-mediatailor-playbackconfiguration-admarkerpassthrough-enabled)
*/
override fun enabled(): Any? = unwrap(this).getEnabled()
}
public companion object {
public operator fun invoke(block: Builder.() -> Unit = {}): AdMarkerPassthroughProperty {
val builderImpl = BuilderImpl()
return Wrapper(builderImpl.apply(block).build())
}
internal
fun wrap(cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.AdMarkerPassthroughProperty):
AdMarkerPassthroughProperty = CdkObjectWrappers.wrap(cdkObject) as?
AdMarkerPassthroughProperty ?: Wrapper(cdkObject)
internal fun unwrap(wrapped: AdMarkerPassthroughProperty):
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.AdMarkerPassthroughProperty
= (wrapped as CdkObject).cdkObject as
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.AdMarkerPassthroughProperty
}
}
/**
* 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) .
*
* Example:
*
* ```
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import io.cloudshiftdev.awscdk.services.mediatailor.*;
* AvailSuppressionProperty availSuppressionProperty = AvailSuppressionProperty.builder()
* .fillPolicy("fillPolicy")
* .mode("mode")
* .value("value")
* .build();
* ```
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-availsuppression.html)
*/
public interface AvailSuppressionProperty {
/**
* Defines the policy to apply to the avail suppression mode.
*
* `BEHIND_LIVE_EDGE` will always use the full avail suppression policy. `AFTER_LIVE_EDGE` mode
* can be used to invoke partial ad break fills when a session starts mid-break.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-availsuppression.html#cfn-mediatailor-playbackconfiguration-availsuppression-fillpolicy)
*/
public fun fillPolicy(): String? = unwrap(this).getFillPolicy()
/**
* Sets the ad suppression mode.
*
* By default, ad suppression is off and all ad breaks are filled with ads or slate. When Mode
* is set to `BEHIND_LIVE_EDGE` , ad suppression is active and MediaTailor won't fill ad breaks on
* or behind the ad suppression Value time in the manifest lookback window. When Mode is set to
* `AFTER_LIVE_EDGE` , ad suppression is active and MediaTailor won't fill ad breaks that are
* within the live edge plus the avail suppression value.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-availsuppression.html#cfn-mediatailor-playbackconfiguration-availsuppression-mode)
*/
public fun mode(): String? = unwrap(this).getMode()
/**
* A live edge offset time in HH:MM:SS.
*
* MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. If
* Value is set to 00:00:00, it is in sync with the live edge, and MediaTailor won't fill any ad
* breaks on or behind the live edge. If you set a Value time, MediaTailor won't fill any ad breaks
* on or behind this time in the manifest lookback window. For example, if you set 00:45:00, then
* MediaTailor will fill ad breaks that occur within 45 minutes behind the live edge, but won't
* fill ad breaks on or behind 45 minutes behind the live edge.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-availsuppression.html#cfn-mediatailor-playbackconfiguration-availsuppression-value)
*/
public fun `value`(): String? = unwrap(this).getValue()
/**
* A builder for [AvailSuppressionProperty]
*/
@CdkDslMarker
public interface Builder {
/**
* @param fillPolicy Defines the policy to apply to the avail suppression mode.
* `BEHIND_LIVE_EDGE` will always use the full avail suppression policy. `AFTER_LIVE_EDGE`
* mode can be used to invoke partial ad break fills when a session starts mid-break.
*/
public fun fillPolicy(fillPolicy: String)
/**
* @param mode Sets the ad suppression mode.
* By default, ad suppression is off and all ad breaks are filled with ads or slate. When Mode
* is set to `BEHIND_LIVE_EDGE` , ad suppression is active and MediaTailor won't fill ad breaks
* on or behind the ad suppression Value time in the manifest lookback window. When Mode is set
* to `AFTER_LIVE_EDGE` , ad suppression is active and MediaTailor won't fill ad breaks that are
* within the live edge plus the avail suppression value.
*/
public fun mode(mode: String)
/**
* @param value A live edge offset time in HH:MM:SS.
* MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. If
* Value is set to 00:00:00, it is in sync with the live edge, and MediaTailor won't fill any ad
* breaks on or behind the live edge. If you set a Value time, MediaTailor won't fill any ad
* breaks on or behind this time in the manifest lookback window. For example, if you set
* 00:45:00, then MediaTailor will fill ad breaks that occur within 45 minutes behind the live
* edge, but won't fill ad breaks on or behind 45 minutes behind the live edge.
*/
public fun `value`(`value`: String)
}
private class BuilderImpl : Builder {
private val cdkBuilder:
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.AvailSuppressionProperty.Builder
=
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.AvailSuppressionProperty.builder()
/**
* @param fillPolicy Defines the policy to apply to the avail suppression mode.
* `BEHIND_LIVE_EDGE` will always use the full avail suppression policy. `AFTER_LIVE_EDGE`
* mode can be used to invoke partial ad break fills when a session starts mid-break.
*/
override fun fillPolicy(fillPolicy: String) {
cdkBuilder.fillPolicy(fillPolicy)
}
/**
* @param mode Sets the ad suppression mode.
* By default, ad suppression is off and all ad breaks are filled with ads or slate. When Mode
* is set to `BEHIND_LIVE_EDGE` , ad suppression is active and MediaTailor won't fill ad breaks
* on or behind the ad suppression Value time in the manifest lookback window. When Mode is set
* to `AFTER_LIVE_EDGE` , ad suppression is active and MediaTailor won't fill ad breaks that are
* within the live edge plus the avail suppression value.
*/
override fun mode(mode: String) {
cdkBuilder.mode(mode)
}
/**
* @param value A live edge offset time in HH:MM:SS.
* MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. If
* Value is set to 00:00:00, it is in sync with the live edge, and MediaTailor won't fill any ad
* breaks on or behind the live edge. If you set a Value time, MediaTailor won't fill any ad
* breaks on or behind this time in the manifest lookback window. For example, if you set
* 00:45:00, then MediaTailor will fill ad breaks that occur within 45 minutes behind the live
* edge, but won't fill ad breaks on or behind 45 minutes behind the live edge.
*/
override fun `value`(`value`: String) {
cdkBuilder.`value`(`value`)
}
public fun build():
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.AvailSuppressionProperty
= cdkBuilder.build()
}
private class Wrapper(
cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.AvailSuppressionProperty,
) : CdkObject(cdkObject),
AvailSuppressionProperty {
/**
* Defines the policy to apply to the avail suppression mode.
*
* `BEHIND_LIVE_EDGE` will always use the full avail suppression policy. `AFTER_LIVE_EDGE`
* mode can be used to invoke partial ad break fills when a session starts mid-break.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-availsuppression.html#cfn-mediatailor-playbackconfiguration-availsuppression-fillpolicy)
*/
override fun fillPolicy(): String? = unwrap(this).getFillPolicy()
/**
* Sets the ad suppression mode.
*
* By default, ad suppression is off and all ad breaks are filled with ads or slate. When Mode
* is set to `BEHIND_LIVE_EDGE` , ad suppression is active and MediaTailor won't fill ad breaks
* on or behind the ad suppression Value time in the manifest lookback window. When Mode is set
* to `AFTER_LIVE_EDGE` , ad suppression is active and MediaTailor won't fill ad breaks that are
* within the live edge plus the avail suppression value.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-availsuppression.html#cfn-mediatailor-playbackconfiguration-availsuppression-mode)
*/
override fun mode(): String? = unwrap(this).getMode()
/**
* A live edge offset time in HH:MM:SS.
*
* MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. If
* Value is set to 00:00:00, it is in sync with the live edge, and MediaTailor won't fill any ad
* breaks on or behind the live edge. If you set a Value time, MediaTailor won't fill any ad
* breaks on or behind this time in the manifest lookback window. For example, if you set
* 00:45:00, then MediaTailor will fill ad breaks that occur within 45 minutes behind the live
* edge, but won't fill ad breaks on or behind 45 minutes behind the live edge.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-availsuppression.html#cfn-mediatailor-playbackconfiguration-availsuppression-value)
*/
override fun `value`(): String? = unwrap(this).getValue()
}
public companion object {
public operator fun invoke(block: Builder.() -> Unit = {}): AvailSuppressionProperty {
val builderImpl = BuilderImpl()
return Wrapper(builderImpl.apply(block).build())
}
internal
fun wrap(cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.AvailSuppressionProperty):
AvailSuppressionProperty = CdkObjectWrappers.wrap(cdkObject) as? AvailSuppressionProperty
?: Wrapper(cdkObject)
internal fun unwrap(wrapped: AvailSuppressionProperty):
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.AvailSuppressionProperty
= (wrapped as CdkObject).cdkObject as
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.AvailSuppressionProperty
}
}
/**
* 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) .
*
* Example:
*
* ```
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import io.cloudshiftdev.awscdk.services.mediatailor.*;
* BumperProperty bumperProperty = BumperProperty.builder()
* .endUrl("endUrl")
* .startUrl("startUrl")
* .build();
* ```
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-bumper.html)
*/
public interface BumperProperty {
/**
* The URL for the end bumper asset.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-bumper.html#cfn-mediatailor-playbackconfiguration-bumper-endurl)
*/
public fun endUrl(): String? = unwrap(this).getEndUrl()
/**
* The URL for the start bumper asset.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-bumper.html#cfn-mediatailor-playbackconfiguration-bumper-starturl)
*/
public fun startUrl(): String? = unwrap(this).getStartUrl()
/**
* A builder for [BumperProperty]
*/
@CdkDslMarker
public interface Builder {
/**
* @param endUrl The URL for the end bumper asset.
*/
public fun endUrl(endUrl: String)
/**
* @param startUrl The URL for the start bumper asset.
*/
public fun startUrl(startUrl: String)
}
private class BuilderImpl : Builder {
private val cdkBuilder:
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.BumperProperty.Builder
=
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.BumperProperty.builder()
/**
* @param endUrl The URL for the end bumper asset.
*/
override fun endUrl(endUrl: String) {
cdkBuilder.endUrl(endUrl)
}
/**
* @param startUrl The URL for the start bumper asset.
*/
override fun startUrl(startUrl: String) {
cdkBuilder.startUrl(startUrl)
}
public fun build():
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.BumperProperty =
cdkBuilder.build()
}
private class Wrapper(
cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.BumperProperty,
) : CdkObject(cdkObject),
BumperProperty {
/**
* The URL for the end bumper asset.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-bumper.html#cfn-mediatailor-playbackconfiguration-bumper-endurl)
*/
override fun endUrl(): String? = unwrap(this).getEndUrl()
/**
* The URL for the start bumper asset.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-bumper.html#cfn-mediatailor-playbackconfiguration-bumper-starturl)
*/
override fun startUrl(): String? = unwrap(this).getStartUrl()
}
public companion object {
public operator fun invoke(block: Builder.() -> Unit = {}): BumperProperty {
val builderImpl = BuilderImpl()
return Wrapper(builderImpl.apply(block).build())
}
internal
fun wrap(cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.BumperProperty):
BumperProperty = CdkObjectWrappers.wrap(cdkObject) as? BumperProperty ?:
Wrapper(cdkObject)
internal fun unwrap(wrapped: BumperProperty):
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.BumperProperty =
(wrapped as CdkObject).cdkObject as
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.BumperProperty
}
}
/**
* The configuration for using a content delivery network (CDN), like Amazon CloudFront, for
* content and ad segment management.
*
* Example:
*
* ```
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import io.cloudshiftdev.awscdk.services.mediatailor.*;
* CdnConfigurationProperty cdnConfigurationProperty = CdnConfigurationProperty.builder()
* .adSegmentUrlPrefix("adSegmentUrlPrefix")
* .contentSegmentUrlPrefix("contentSegmentUrlPrefix")
* .build();
* ```
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-cdnconfiguration.html)
*/
public interface CdnConfigurationProperty {
/**
* A non-default content delivery network (CDN) to serve ad segments.
*
* By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as
* its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the origin
* ads.mediatailor. ** .amazonaws.com. Then specify the rule's name in this
* `AdSegmentUrlPrefix` . When AWS Elemental MediaTailor serves a manifest, it reports your CDN as
* the source for ad segments.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-cdnconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration-adsegmenturlprefix)
*/
public fun adSegmentUrlPrefix(): String? = unwrap(this).getAdSegmentUrlPrefix()
/**
* A content delivery network (CDN) to cache content segments, so that content requests don’t
* always have to go to the origin server.
*
* First, create a rule in your CDN for the content segment origin server. Then specify the
* rule's name in this `ContentSegmentUrlPrefix` . When AWS Elemental MediaTailor serves a
* manifest, it reports your CDN as the source for content segments.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-cdnconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration-contentsegmenturlprefix)
*/
public fun contentSegmentUrlPrefix(): String? = unwrap(this).getContentSegmentUrlPrefix()
/**
* A builder for [CdnConfigurationProperty]
*/
@CdkDslMarker
public interface Builder {
/**
* @param adSegmentUrlPrefix A non-default content delivery network (CDN) to serve ad
* segments.
* By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as
* its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the origin
* ads.mediatailor. ** .amazonaws.com. Then specify the rule's name in this
* `AdSegmentUrlPrefix` . When AWS Elemental MediaTailor serves a manifest, it reports your CDN
* as the source for ad segments.
*/
public fun adSegmentUrlPrefix(adSegmentUrlPrefix: String)
/**
* @param contentSegmentUrlPrefix A content delivery network (CDN) to cache content segments,
* so that content requests don’t always have to go to the origin server.
* First, create a rule in your CDN for the content segment origin server. Then specify the
* rule's name in this `ContentSegmentUrlPrefix` . When AWS Elemental MediaTailor serves a
* manifest, it reports your CDN as the source for content segments.
*/
public fun contentSegmentUrlPrefix(contentSegmentUrlPrefix: String)
}
private class BuilderImpl : Builder {
private val cdkBuilder:
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.CdnConfigurationProperty.Builder
=
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.CdnConfigurationProperty.builder()
/**
* @param adSegmentUrlPrefix A non-default content delivery network (CDN) to serve ad
* segments.
* By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as
* its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the origin
* ads.mediatailor. ** .amazonaws.com. Then specify the rule's name in this
* `AdSegmentUrlPrefix` . When AWS Elemental MediaTailor serves a manifest, it reports your CDN
* as the source for ad segments.
*/
override fun adSegmentUrlPrefix(adSegmentUrlPrefix: String) {
cdkBuilder.adSegmentUrlPrefix(adSegmentUrlPrefix)
}
/**
* @param contentSegmentUrlPrefix A content delivery network (CDN) to cache content segments,
* so that content requests don’t always have to go to the origin server.
* First, create a rule in your CDN for the content segment origin server. Then specify the
* rule's name in this `ContentSegmentUrlPrefix` . When AWS Elemental MediaTailor serves a
* manifest, it reports your CDN as the source for content segments.
*/
override fun contentSegmentUrlPrefix(contentSegmentUrlPrefix: String) {
cdkBuilder.contentSegmentUrlPrefix(contentSegmentUrlPrefix)
}
public fun build():
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.CdnConfigurationProperty
= cdkBuilder.build()
}
private class Wrapper(
cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.CdnConfigurationProperty,
) : CdkObject(cdkObject),
CdnConfigurationProperty {
/**
* A non-default content delivery network (CDN) to serve ad segments.
*
* By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as
* its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the origin
* ads.mediatailor. ** .amazonaws.com. Then specify the rule's name in this
* `AdSegmentUrlPrefix` . When AWS Elemental MediaTailor serves a manifest, it reports your CDN
* as the source for ad segments.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-cdnconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration-adsegmenturlprefix)
*/
override fun adSegmentUrlPrefix(): String? = unwrap(this).getAdSegmentUrlPrefix()
/**
* A content delivery network (CDN) to cache content segments, so that content requests don’t
* always have to go to the origin server.
*
* First, create a rule in your CDN for the content segment origin server. Then specify the
* rule's name in this `ContentSegmentUrlPrefix` . When AWS Elemental MediaTailor serves a
* manifest, it reports your CDN as the source for content segments.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-cdnconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration-contentsegmenturlprefix)
*/
override fun contentSegmentUrlPrefix(): String? = unwrap(this).getContentSegmentUrlPrefix()
}
public companion object {
public operator fun invoke(block: Builder.() -> Unit = {}): CdnConfigurationProperty {
val builderImpl = BuilderImpl()
return Wrapper(builderImpl.apply(block).build())
}
internal
fun wrap(cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.CdnConfigurationProperty):
CdnConfigurationProperty = CdkObjectWrappers.wrap(cdkObject) as? CdnConfigurationProperty
?: Wrapper(cdkObject)
internal fun unwrap(wrapped: CdnConfigurationProperty):
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.CdnConfigurationProperty
= (wrapped as CdkObject).cdkObject as
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.CdnConfigurationProperty
}
}
/**
* The configuration for DASH content.
*
* Example:
*
* ```
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import io.cloudshiftdev.awscdk.services.mediatailor.*;
* DashConfigurationProperty dashConfigurationProperty = DashConfigurationProperty.builder()
* .manifestEndpointPrefix("manifestEndpointPrefix")
* .mpdLocation("mpdLocation")
* .originManifestType("originManifestType")
* .build();
* ```
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfiguration.html)
*/
public interface DashConfigurationProperty {
/**
* The URL generated by MediaTailor to initiate a playback session.
*
* The session uses server-side reporting. This setting is ignored in PUT operations.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration-manifestendpointprefix)
*/
public fun manifestEndpointPrefix(): String? = unwrap(this).getManifestEndpointPrefix()
/**
* The setting that controls whether MediaTailor includes the Location tag in DASH manifests.
*
* MediaTailor populates the Location tag with the URL for manifest update requests, to be used
* by players that don't support sticky redirects. Disable this if you have CDN routing rules set
* up for accessing MediaTailor manifests, and you are either using client-side reporting or your
* players support sticky HTTP redirects. Valid values are `DISABLED` and `EMT_DEFAULT` . The
* `EMT_DEFAULT` setting enables the inclusion of the tag and is the default value.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration-mpdlocation)
*/
public fun mpdLocation(): String? = unwrap(this).getMpdLocation()
/**
* The setting that controls whether MediaTailor handles manifests from the origin server as
* multi-period manifests or single-period manifests.
*
* If your origin server produces single-period manifests, set this to `SINGLE_PERIOD` . The
* default setting is `MULTI_PERIOD` . For multi-period manifests, omit this setting or set it to
* `MULTI_PERIOD` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration-originmanifesttype)
*/
public fun originManifestType(): String? = unwrap(this).getOriginManifestType()
/**
* A builder for [DashConfigurationProperty]
*/
@CdkDslMarker
public interface Builder {
/**
* @param manifestEndpointPrefix The URL generated by MediaTailor to initiate a playback
* session.
* The session uses server-side reporting. This setting is ignored in PUT operations.
*/
public fun manifestEndpointPrefix(manifestEndpointPrefix: String)
/**
* @param mpdLocation The setting that controls whether MediaTailor includes the Location tag
* in DASH manifests.
* MediaTailor populates the Location tag with the URL for manifest update requests, to be
* used by players that don't support sticky redirects. Disable this if you have CDN routing
* rules set up for accessing MediaTailor manifests, and you are either using client-side
* reporting or your players support sticky HTTP redirects. Valid values are `DISABLED` and
* `EMT_DEFAULT` . The `EMT_DEFAULT` setting enables the inclusion of the tag and is the default
* value.
*/
public fun mpdLocation(mpdLocation: String)
/**
* @param originManifestType The setting that controls whether MediaTailor handles manifests
* from the origin server as multi-period manifests or single-period manifests.
* If your origin server produces single-period manifests, set this to `SINGLE_PERIOD` . The
* default setting is `MULTI_PERIOD` . For multi-period manifests, omit this setting or set it to
* `MULTI_PERIOD` .
*/
public fun originManifestType(originManifestType: String)
}
private class BuilderImpl : Builder {
private val cdkBuilder:
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.DashConfigurationProperty.Builder
=
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.DashConfigurationProperty.builder()
/**
* @param manifestEndpointPrefix The URL generated by MediaTailor to initiate a playback
* session.
* The session uses server-side reporting. This setting is ignored in PUT operations.
*/
override fun manifestEndpointPrefix(manifestEndpointPrefix: String) {
cdkBuilder.manifestEndpointPrefix(manifestEndpointPrefix)
}
/**
* @param mpdLocation The setting that controls whether MediaTailor includes the Location tag
* in DASH manifests.
* MediaTailor populates the Location tag with the URL for manifest update requests, to be
* used by players that don't support sticky redirects. Disable this if you have CDN routing
* rules set up for accessing MediaTailor manifests, and you are either using client-side
* reporting or your players support sticky HTTP redirects. Valid values are `DISABLED` and
* `EMT_DEFAULT` . The `EMT_DEFAULT` setting enables the inclusion of the tag and is the default
* value.
*/
override fun mpdLocation(mpdLocation: String) {
cdkBuilder.mpdLocation(mpdLocation)
}
/**
* @param originManifestType The setting that controls whether MediaTailor handles manifests
* from the origin server as multi-period manifests or single-period manifests.
* If your origin server produces single-period manifests, set this to `SINGLE_PERIOD` . The
* default setting is `MULTI_PERIOD` . For multi-period manifests, omit this setting or set it to
* `MULTI_PERIOD` .
*/
override fun originManifestType(originManifestType: String) {
cdkBuilder.originManifestType(originManifestType)
}
public fun build():
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.DashConfigurationProperty
= cdkBuilder.build()
}
private class Wrapper(
cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.DashConfigurationProperty,
) : CdkObject(cdkObject),
DashConfigurationProperty {
/**
* The URL generated by MediaTailor to initiate a playback session.
*
* The session uses server-side reporting. This setting is ignored in PUT operations.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration-manifestendpointprefix)
*/
override fun manifestEndpointPrefix(): String? = unwrap(this).getManifestEndpointPrefix()
/**
* The setting that controls whether MediaTailor includes the Location tag in DASH manifests.
*
* MediaTailor populates the Location tag with the URL for manifest update requests, to be
* used by players that don't support sticky redirects. Disable this if you have CDN routing
* rules set up for accessing MediaTailor manifests, and you are either using client-side
* reporting or your players support sticky HTTP redirects. Valid values are `DISABLED` and
* `EMT_DEFAULT` . The `EMT_DEFAULT` setting enables the inclusion of the tag and is the default
* value.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration-mpdlocation)
*/
override fun mpdLocation(): String? = unwrap(this).getMpdLocation()
/**
* The setting that controls whether MediaTailor handles manifests from the origin server as
* multi-period manifests or single-period manifests.
*
* If your origin server produces single-period manifests, set this to `SINGLE_PERIOD` . The
* default setting is `MULTI_PERIOD` . For multi-period manifests, omit this setting or set it to
* `MULTI_PERIOD` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration-originmanifesttype)
*/
override fun originManifestType(): String? = unwrap(this).getOriginManifestType()
}
public companion object {
public operator fun invoke(block: Builder.() -> Unit = {}): DashConfigurationProperty {
val builderImpl = BuilderImpl()
return Wrapper(builderImpl.apply(block).build())
}
internal
fun wrap(cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.DashConfigurationProperty):
DashConfigurationProperty = CdkObjectWrappers.wrap(cdkObject) as?
DashConfigurationProperty ?: Wrapper(cdkObject)
internal fun unwrap(wrapped: DashConfigurationProperty):
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.DashConfigurationProperty
= (wrapped as CdkObject).cdkObject as
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.DashConfigurationProperty
}
}
/**
* The configuration for HLS content.
*
* Example:
*
* ```
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import io.cloudshiftdev.awscdk.services.mediatailor.*;
* HlsConfigurationProperty hlsConfigurationProperty = HlsConfigurationProperty.builder()
* .manifestEndpointPrefix("manifestEndpointPrefix")
* .build();
* ```
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-hlsconfiguration.html)
*/
public interface HlsConfigurationProperty {
/**
* The URL that is used to initiate a playback session for devices that support Apple HLS.
*
* The session uses server-side reporting.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-hlsconfiguration.html#cfn-mediatailor-playbackconfiguration-hlsconfiguration-manifestendpointprefix)
*/
public fun manifestEndpointPrefix(): String? = unwrap(this).getManifestEndpointPrefix()
/**
* A builder for [HlsConfigurationProperty]
*/
@CdkDslMarker
public interface Builder {
/**
* @param manifestEndpointPrefix The URL that is used to initiate a playback session for
* devices that support Apple HLS.
* The session uses server-side reporting.
*/
public fun manifestEndpointPrefix(manifestEndpointPrefix: String)
}
private class BuilderImpl : Builder {
private val cdkBuilder:
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.HlsConfigurationProperty.Builder
=
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.HlsConfigurationProperty.builder()
/**
* @param manifestEndpointPrefix The URL that is used to initiate a playback session for
* devices that support Apple HLS.
* The session uses server-side reporting.
*/
override fun manifestEndpointPrefix(manifestEndpointPrefix: String) {
cdkBuilder.manifestEndpointPrefix(manifestEndpointPrefix)
}
public fun build():
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.HlsConfigurationProperty
= cdkBuilder.build()
}
private class Wrapper(
cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.HlsConfigurationProperty,
) : CdkObject(cdkObject),
HlsConfigurationProperty {
/**
* The URL that is used to initiate a playback session for devices that support Apple HLS.
*
* The session uses server-side reporting.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-hlsconfiguration.html#cfn-mediatailor-playbackconfiguration-hlsconfiguration-manifestendpointprefix)
*/
override fun manifestEndpointPrefix(): String? = unwrap(this).getManifestEndpointPrefix()
}
public companion object {
public operator fun invoke(block: Builder.() -> Unit = {}): HlsConfigurationProperty {
val builderImpl = BuilderImpl()
return Wrapper(builderImpl.apply(block).build())
}
internal
fun wrap(cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.HlsConfigurationProperty):
HlsConfigurationProperty = CdkObjectWrappers.wrap(cdkObject) as? HlsConfigurationProperty
?: Wrapper(cdkObject)
internal fun unwrap(wrapped: HlsConfigurationProperty):
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.HlsConfigurationProperty
= (wrapped as CdkObject).cdkObject as
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.HlsConfigurationProperty
}
}
/**
* The configuration for pre-roll ad insertion.
*
* Example:
*
* ```
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import io.cloudshiftdev.awscdk.services.mediatailor.*;
* LivePreRollConfigurationProperty livePreRollConfigurationProperty =
* LivePreRollConfigurationProperty.builder()
* .adDecisionServerUrl("adDecisionServerUrl")
* .maxDurationSeconds(123)
* .build();
* ```
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-liveprerollconfiguration.html)
*/
public interface LivePreRollConfigurationProperty {
/**
* The URL for the ad decision server (ADS) for pre-roll 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.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-liveprerollconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration-addecisionserverurl)
*/
public fun adDecisionServerUrl(): String? = unwrap(this).getAdDecisionServerUrl()
/**
* The maximum allowed duration for the pre-roll ad avail.
*
* AWS Elemental MediaTailor won't play pre-roll ads to exceed this duration, regardless of the
* total duration of ads that the ADS returns.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-liveprerollconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration-maxdurationseconds)
*/
public fun maxDurationSeconds(): Number? = unwrap(this).getMaxDurationSeconds()
/**
* A builder for [LivePreRollConfigurationProperty]
*/
@CdkDslMarker
public interface Builder {
/**
* @param adDecisionServerUrl The URL for the ad decision server (ADS) for pre-roll 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.
*/
public fun adDecisionServerUrl(adDecisionServerUrl: String)
/**
* @param maxDurationSeconds The maximum allowed duration for the pre-roll ad avail.
* AWS Elemental MediaTailor won't play pre-roll ads to exceed this duration, regardless of
* the total duration of ads that the ADS returns.
*/
public fun maxDurationSeconds(maxDurationSeconds: Number)
}
private class BuilderImpl : Builder {
private val cdkBuilder:
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.LivePreRollConfigurationProperty.Builder
=
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.LivePreRollConfigurationProperty.builder()
/**
* @param adDecisionServerUrl The URL for the ad decision server (ADS) for pre-roll 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.
*/
override fun adDecisionServerUrl(adDecisionServerUrl: String) {
cdkBuilder.adDecisionServerUrl(adDecisionServerUrl)
}
/**
* @param maxDurationSeconds The maximum allowed duration for the pre-roll ad avail.
* AWS Elemental MediaTailor won't play pre-roll ads to exceed this duration, regardless of
* the total duration of ads that the ADS returns.
*/
override fun maxDurationSeconds(maxDurationSeconds: Number) {
cdkBuilder.maxDurationSeconds(maxDurationSeconds)
}
public fun build():
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.LivePreRollConfigurationProperty
= cdkBuilder.build()
}
private class Wrapper(
cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.LivePreRollConfigurationProperty,
) : CdkObject(cdkObject),
LivePreRollConfigurationProperty {
/**
* The URL for the ad decision server (ADS) for pre-roll 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.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-liveprerollconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration-addecisionserverurl)
*/
override fun adDecisionServerUrl(): String? = unwrap(this).getAdDecisionServerUrl()
/**
* The maximum allowed duration for the pre-roll ad avail.
*
* AWS Elemental MediaTailor won't play pre-roll ads to exceed this duration, regardless of
* the total duration of ads that the ADS returns.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-liveprerollconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration-maxdurationseconds)
*/
override fun maxDurationSeconds(): Number? = unwrap(this).getMaxDurationSeconds()
}
public companion object {
public operator fun invoke(block: Builder.() -> Unit = {}): LivePreRollConfigurationProperty {
val builderImpl = BuilderImpl()
return Wrapper(builderImpl.apply(block).build())
}
internal
fun wrap(cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.LivePreRollConfigurationProperty):
LivePreRollConfigurationProperty = CdkObjectWrappers.wrap(cdkObject) as?
LivePreRollConfigurationProperty ?: Wrapper(cdkObject)
internal fun unwrap(wrapped: LivePreRollConfigurationProperty):
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.LivePreRollConfigurationProperty
= (wrapped as CdkObject).cdkObject as
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.LivePreRollConfigurationProperty
}
}
/**
* The configuration for manifest processing rules.
*
* Manifest processing rules enable customization of the personalized manifests created by
* MediaTailor.
*
* Example:
*
* ```
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import io.cloudshiftdev.awscdk.services.mediatailor.*;
* ManifestProcessingRulesProperty manifestProcessingRulesProperty =
* ManifestProcessingRulesProperty.builder()
* .adMarkerPassthrough(AdMarkerPassthroughProperty.builder()
* .enabled(false)
* .build())
* .build();
* ```
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-manifestprocessingrules.html)
*/
public interface ManifestProcessingRulesProperty {
/**
* For HLS, when set to `true` , MediaTailor passes through `EXT-X-CUE-IN` , `EXT-X-CUE-OUT` ,
* and `EXT-X-SPLICEPOINT-SCTE35` ad markers from the origin manifest to the MediaTailor
* personalized manifest.
*
* No logic is applied to these ad markers. For example, if `EXT-X-CUE-OUT` has a value of `60`
* , but no ads are filled for that ad break, MediaTailor will not set the value to `0` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-manifestprocessingrules.html#cfn-mediatailor-playbackconfiguration-manifestprocessingrules-admarkerpassthrough)
*/
public fun adMarkerPassthrough(): Any? = unwrap(this).getAdMarkerPassthrough()
/**
* A builder for [ManifestProcessingRulesProperty]
*/
@CdkDslMarker
public interface Builder {
/**
* @param adMarkerPassthrough For HLS, when set to `true` , MediaTailor passes through
* `EXT-X-CUE-IN` , `EXT-X-CUE-OUT` , and `EXT-X-SPLICEPOINT-SCTE35` ad markers from the origin
* manifest to the MediaTailor personalized manifest.
* No logic is applied to these ad markers. For example, if `EXT-X-CUE-OUT` has a value of
* `60` , but no ads are filled for that ad break, MediaTailor will not set the value to `0` .
*/
public fun adMarkerPassthrough(adMarkerPassthrough: IResolvable)
/**
* @param adMarkerPassthrough For HLS, when set to `true` , MediaTailor passes through
* `EXT-X-CUE-IN` , `EXT-X-CUE-OUT` , and `EXT-X-SPLICEPOINT-SCTE35` ad markers from the origin
* manifest to the MediaTailor personalized manifest.
* No logic is applied to these ad markers. For example, if `EXT-X-CUE-OUT` has a value of
* `60` , but no ads are filled for that ad break, MediaTailor will not set the value to `0` .
*/
public fun adMarkerPassthrough(adMarkerPassthrough: AdMarkerPassthroughProperty)
/**
* @param adMarkerPassthrough For HLS, when set to `true` , MediaTailor passes through
* `EXT-X-CUE-IN` , `EXT-X-CUE-OUT` , and `EXT-X-SPLICEPOINT-SCTE35` ad markers from the origin
* manifest to the MediaTailor personalized manifest.
* No logic is applied to these ad markers. For example, if `EXT-X-CUE-OUT` has a value of
* `60` , but no ads are filled for that ad break, MediaTailor will not set the value to `0` .
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("31a5ddef7bb8163764922d8d7fbbdd01c9762270611101fcd57f0a70c9e385be")
public
fun adMarkerPassthrough(adMarkerPassthrough: AdMarkerPassthroughProperty.Builder.() -> Unit)
}
private class BuilderImpl : Builder {
private val cdkBuilder:
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.ManifestProcessingRulesProperty.Builder
=
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.ManifestProcessingRulesProperty.builder()
/**
* @param adMarkerPassthrough For HLS, when set to `true` , MediaTailor passes through
* `EXT-X-CUE-IN` , `EXT-X-CUE-OUT` , and `EXT-X-SPLICEPOINT-SCTE35` ad markers from the origin
* manifest to the MediaTailor personalized manifest.
* No logic is applied to these ad markers. For example, if `EXT-X-CUE-OUT` has a value of
* `60` , but no ads are filled for that ad break, MediaTailor will not set the value to `0` .
*/
override fun adMarkerPassthrough(adMarkerPassthrough: IResolvable) {
cdkBuilder.adMarkerPassthrough(adMarkerPassthrough.let(IResolvable.Companion::unwrap))
}
/**
* @param adMarkerPassthrough For HLS, when set to `true` , MediaTailor passes through
* `EXT-X-CUE-IN` , `EXT-X-CUE-OUT` , and `EXT-X-SPLICEPOINT-SCTE35` ad markers from the origin
* manifest to the MediaTailor personalized manifest.
* No logic is applied to these ad markers. For example, if `EXT-X-CUE-OUT` has a value of
* `60` , but no ads are filled for that ad break, MediaTailor will not set the value to `0` .
*/
override fun adMarkerPassthrough(adMarkerPassthrough: AdMarkerPassthroughProperty) {
cdkBuilder.adMarkerPassthrough(adMarkerPassthrough.let(AdMarkerPassthroughProperty.Companion::unwrap))
}
/**
* @param adMarkerPassthrough For HLS, when set to `true` , MediaTailor passes through
* `EXT-X-CUE-IN` , `EXT-X-CUE-OUT` , and `EXT-X-SPLICEPOINT-SCTE35` ad markers from the origin
* manifest to the MediaTailor personalized manifest.
* No logic is applied to these ad markers. For example, if `EXT-X-CUE-OUT` has a value of
* `60` , but no ads are filled for that ad break, MediaTailor will not set the value to `0` .
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("31a5ddef7bb8163764922d8d7fbbdd01c9762270611101fcd57f0a70c9e385be")
override
fun adMarkerPassthrough(adMarkerPassthrough: AdMarkerPassthroughProperty.Builder.() -> Unit):
Unit = adMarkerPassthrough(AdMarkerPassthroughProperty(adMarkerPassthrough))
public fun build():
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.ManifestProcessingRulesProperty
= cdkBuilder.build()
}
private class Wrapper(
cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.ManifestProcessingRulesProperty,
) : CdkObject(cdkObject),
ManifestProcessingRulesProperty {
/**
* For HLS, when set to `true` , MediaTailor passes through `EXT-X-CUE-IN` , `EXT-X-CUE-OUT` ,
* and `EXT-X-SPLICEPOINT-SCTE35` ad markers from the origin manifest to the MediaTailor
* personalized manifest.
*
* No logic is applied to these ad markers. For example, if `EXT-X-CUE-OUT` has a value of
* `60` , but no ads are filled for that ad break, MediaTailor will not set the value to `0` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-manifestprocessingrules.html#cfn-mediatailor-playbackconfiguration-manifestprocessingrules-admarkerpassthrough)
*/
override fun adMarkerPassthrough(): Any? = unwrap(this).getAdMarkerPassthrough()
}
public companion object {
public operator fun invoke(block: Builder.() -> Unit = {}): ManifestProcessingRulesProperty {
val builderImpl = BuilderImpl()
return Wrapper(builderImpl.apply(block).build())
}
internal
fun wrap(cdkObject: software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.ManifestProcessingRulesProperty):
ManifestProcessingRulesProperty = CdkObjectWrappers.wrap(cdkObject) as?
ManifestProcessingRulesProperty ?: Wrapper(cdkObject)
internal fun unwrap(wrapped: ManifestProcessingRulesProperty):
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.ManifestProcessingRulesProperty
= (wrapped as CdkObject).cdkObject as
software.amazon.awscdk.services.mediatailor.CfnPlaybackConfiguration.ManifestProcessingRulesProperty
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy