com.pulumi.azurenative.media.kotlin.inputs.Mp4FormatArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.media.kotlin.inputs
import com.pulumi.azurenative.media.inputs.Mp4FormatArgs.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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Describes the properties for an output ISO MP4 file.
* @property filenamePattern The file naming pattern used for the creation of output files. The following macros are supported in the file name: {Basename} - An expansion macro that will use the name of the input video file. If the base name(the file suffix is not included) of the input video file is less than 32 characters long, the base name of input video files will be used. If the length of base name of the input video file exceeds 32 characters, the base name is truncated to the first 32 characters in total length. {Extension} - The appropriate extension for this format. {Label} - The label assigned to the codec/layer. {Index} - A unique index for thumbnails. Only applicable to thumbnails. {AudioStream} - string "Audio" plus audio stream number(start from 1). {Bitrate} - The audio/video bitrate in kbps. Not applicable to thumbnails. {Codec} - The type of the audio/video codec. {Resolution} - The video resolution. Any unsubstituted macros will be collapsed and removed from the filename.
* @property odataType The discriminator for derived types.
* Expected value is '#Microsoft.Media.Mp4Format'.
* @property outputFiles The list of output files to produce. Each entry in the list is a set of audio and video layer labels to be muxed together .
*/
public data class Mp4FormatArgs(
public val filenamePattern: Output,
public val odataType: Output,
public val outputFiles: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.media.inputs.Mp4FormatArgs =
com.pulumi.azurenative.media.inputs.Mp4FormatArgs.builder()
.filenamePattern(filenamePattern.applyValue({ args0 -> args0 }))
.odataType(odataType.applyValue({ args0 -> args0 }))
.outputFiles(
outputFiles?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [Mp4FormatArgs].
*/
@PulumiTagMarker
public class Mp4FormatArgsBuilder internal constructor() {
private var filenamePattern: Output? = null
private var odataType: Output? = null
private var outputFiles: Output>? = null
/**
* @param value The file naming pattern used for the creation of output files. The following macros are supported in the file name: {Basename} - An expansion macro that will use the name of the input video file. If the base name(the file suffix is not included) of the input video file is less than 32 characters long, the base name of input video files will be used. If the length of base name of the input video file exceeds 32 characters, the base name is truncated to the first 32 characters in total length. {Extension} - The appropriate extension for this format. {Label} - The label assigned to the codec/layer. {Index} - A unique index for thumbnails. Only applicable to thumbnails. {AudioStream} - string "Audio" plus audio stream number(start from 1). {Bitrate} - The audio/video bitrate in kbps. Not applicable to thumbnails. {Codec} - The type of the audio/video codec. {Resolution} - The video resolution. Any unsubstituted macros will be collapsed and removed from the filename.
*/
@JvmName("skdicbsivmgrlmql")
public suspend fun filenamePattern(`value`: Output) {
this.filenamePattern = value
}
/**
* @param value The discriminator for derived types.
* Expected value is '#Microsoft.Media.Mp4Format'.
*/
@JvmName("huoisdxahfoqjkth")
public suspend fun odataType(`value`: Output) {
this.odataType = value
}
/**
* @param value The list of output files to produce. Each entry in the list is a set of audio and video layer labels to be muxed together .
*/
@JvmName("okendfhffkcevxtv")
public suspend fun outputFiles(`value`: Output>) {
this.outputFiles = value
}
@JvmName("jiysbmlnjxakbbia")
public suspend fun outputFiles(vararg values: Output) {
this.outputFiles = Output.all(values.asList())
}
/**
* @param values The list of output files to produce. Each entry in the list is a set of audio and video layer labels to be muxed together .
*/
@JvmName("rwqgtcoqifycaxix")
public suspend fun outputFiles(values: List