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

com.pulumi.azurenative.media.kotlin.inputs.AudioTrackArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.media.kotlin.inputs

import com.pulumi.azurenative.media.inputs.AudioTrackArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Represents an audio track in the asset.
 * @property dashSettings The DASH specific setting for the audio track.
 * @property displayName The display name of the audio track on a video player. In HLS, this maps to the NAME attribute of EXT-X-MEDIA.
 * @property fileName The file name to the source file. This file is located in the storage container of the asset.
 * @property hlsSettings The HLS specific setting for the audio track.
 * @property languageCode The RFC5646 language code for the audio track.
 * @property mpeg4TrackId The MPEG-4 audio track ID for the audio track.
 * @property odataType The discriminator for derived types.
 * Expected value is '#Microsoft.Media.AudioTrack'.
 */
public data class AudioTrackArgs(
    public val dashSettings: Output? = null,
    public val displayName: Output? = null,
    public val fileName: Output? = null,
    public val hlsSettings: Output? = null,
    public val languageCode: Output? = null,
    public val mpeg4TrackId: Output? = null,
    public val odataType: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.media.inputs.AudioTrackArgs =
        com.pulumi.azurenative.media.inputs.AudioTrackArgs.builder()
            .dashSettings(dashSettings?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .displayName(displayName?.applyValue({ args0 -> args0 }))
            .fileName(fileName?.applyValue({ args0 -> args0 }))
            .hlsSettings(hlsSettings?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .languageCode(languageCode?.applyValue({ args0 -> args0 }))
            .mpeg4TrackId(mpeg4TrackId?.applyValue({ args0 -> args0 }))
            .odataType(odataType.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [AudioTrackArgs].
 */
@PulumiTagMarker
public class AudioTrackArgsBuilder internal constructor() {
    private var dashSettings: Output? = null

    private var displayName: Output? = null

    private var fileName: Output? = null

    private var hlsSettings: Output? = null

    private var languageCode: Output? = null

    private var mpeg4TrackId: Output? = null

    private var odataType: Output? = null

    /**
     * @param value The DASH specific setting for the audio track.
     */
    @JvmName("wxnsqpvbltxfxchb")
    public suspend fun dashSettings(`value`: Output) {
        this.dashSettings = value
    }

    /**
     * @param value The display name of the audio track on a video player. In HLS, this maps to the NAME attribute of EXT-X-MEDIA.
     */
    @JvmName("eqtxritffojrarxn")
    public suspend fun displayName(`value`: Output) {
        this.displayName = value
    }

    /**
     * @param value The file name to the source file. This file is located in the storage container of the asset.
     */
    @JvmName("nyhbbsywvcohcrsv")
    public suspend fun fileName(`value`: Output) {
        this.fileName = value
    }

    /**
     * @param value The HLS specific setting for the audio track.
     */
    @JvmName("wedwmmuobbegerxm")
    public suspend fun hlsSettings(`value`: Output) {
        this.hlsSettings = value
    }

    /**
     * @param value The RFC5646 language code for the audio track.
     */
    @JvmName("gbbelxvhwkecuvnv")
    public suspend fun languageCode(`value`: Output) {
        this.languageCode = value
    }

    /**
     * @param value The MPEG-4 audio track ID for the audio track.
     */
    @JvmName("koaxnkoipnmjnthy")
    public suspend fun mpeg4TrackId(`value`: Output) {
        this.mpeg4TrackId = value
    }

    /**
     * @param value The discriminator for derived types.
     * Expected value is '#Microsoft.Media.AudioTrack'.
     */
    @JvmName("mfhkacsixoeuhava")
    public suspend fun odataType(`value`: Output) {
        this.odataType = value
    }

    /**
     * @param value The DASH specific setting for the audio track.
     */
    @JvmName("mpgqwqudtyxjhetj")
    public suspend fun dashSettings(`value`: DashSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dashSettings = mapped
    }

    /**
     * @param argument The DASH specific setting for the audio track.
     */
    @JvmName("urcauhbxevjevtvt")
    public suspend fun dashSettings(argument: suspend DashSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = DashSettingsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.dashSettings = mapped
    }

    /**
     * @param value The display name of the audio track on a video player. In HLS, this maps to the NAME attribute of EXT-X-MEDIA.
     */
    @JvmName("yooebbdcduknmqhi")
    public suspend fun displayName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.displayName = mapped
    }

    /**
     * @param value The file name to the source file. This file is located in the storage container of the asset.
     */
    @JvmName("wuwugrwwswrslfak")
    public suspend fun fileName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.fileName = mapped
    }

    /**
     * @param value The HLS specific setting for the audio track.
     */
    @JvmName("xrvsrqmjbyvpscxu")
    public suspend fun hlsSettings(`value`: HlsSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.hlsSettings = mapped
    }

    /**
     * @param argument The HLS specific setting for the audio track.
     */
    @JvmName("hpwheurovfdsmynj")
    public suspend fun hlsSettings(argument: suspend HlsSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = HlsSettingsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.hlsSettings = mapped
    }

    /**
     * @param value The RFC5646 language code for the audio track.
     */
    @JvmName("ckiyeqgimgncysqa")
    public suspend fun languageCode(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.languageCode = mapped
    }

    /**
     * @param value The MPEG-4 audio track ID for the audio track.
     */
    @JvmName("scxbhfqhqijeumtd")
    public suspend fun mpeg4TrackId(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.mpeg4TrackId = mapped
    }

    /**
     * @param value The discriminator for derived types.
     * Expected value is '#Microsoft.Media.AudioTrack'.
     */
    @JvmName("uyyathxfelgdcpkr")
    public suspend fun odataType(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.odataType = mapped
    }

    internal fun build(): AudioTrackArgs = AudioTrackArgs(
        dashSettings = dashSettings,
        displayName = displayName,
        fileName = fileName,
        hlsSettings = hlsSettings,
        languageCode = languageCode,
        mpeg4TrackId = mpeg4TrackId,
        odataType = odataType ?: throw PulumiNullFieldException("odataType"),
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy