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

com.pulumi.gcp.transcoder.kotlin.inputs.JobConfigElementaryStreamVideoStreamH264Args.kt Maven / Gradle / Ivy

Go to download

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

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

package com.pulumi.gcp.transcoder.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.transcoder.inputs.JobConfigElementaryStreamVideoStreamH264Args.builder
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

/**
 *
 * @property bitrateBps The video bitrate in bits per second.
 * @property crfLevel Target CRF level. The default is '21'.
 * @property entropyCoder The entropy coder to use. The default is 'cabac'.
 * @property frameRate The target video frame rate in frames per second (FPS).
 * @property gopDuration Select the GOP size based on the specified duration. The default is '3s'.
 * @property heightPixels The height of the video in pixels.
 * @property hlg HLG color format setting for H264.
 * @property pixelFormat Pixel format to use. The default is 'yuv420p'.
 * @property preset Enforces the specified codec preset. The default is 'veryfast'.
 * @property profile Enforces the specified codec profile.
 * @property rateControlMode Specify the mode. The default is 'vbr'.
 * @property sdr SDR color format setting for H264.
 * @property vbvFullnessBits Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
 * @property vbvSizeBits Size of the Video Buffering Verifier (VBV) buffer in bits.
 * @property widthPixels The width of the video in pixels.
 */
public data class JobConfigElementaryStreamVideoStreamH264Args(
    public val bitrateBps: Output,
    public val crfLevel: Output? = null,
    public val entropyCoder: Output? = null,
    public val frameRate: Output,
    public val gopDuration: Output? = null,
    public val heightPixels: Output? = null,
    public val hlg: Output? = null,
    public val pixelFormat: Output? = null,
    public val preset: Output? = null,
    public val profile: Output? = null,
    public val rateControlMode: Output? = null,
    public val sdr: Output? = null,
    public val vbvFullnessBits: Output? = null,
    public val vbvSizeBits: Output? = null,
    public val widthPixels: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.transcoder.inputs.JobConfigElementaryStreamVideoStreamH264Args =
        com.pulumi.gcp.transcoder.inputs.JobConfigElementaryStreamVideoStreamH264Args.builder()
            .bitrateBps(bitrateBps.applyValue({ args0 -> args0 }))
            .crfLevel(crfLevel?.applyValue({ args0 -> args0 }))
            .entropyCoder(entropyCoder?.applyValue({ args0 -> args0 }))
            .frameRate(frameRate.applyValue({ args0 -> args0 }))
            .gopDuration(gopDuration?.applyValue({ args0 -> args0 }))
            .heightPixels(heightPixels?.applyValue({ args0 -> args0 }))
            .hlg(hlg?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .pixelFormat(pixelFormat?.applyValue({ args0 -> args0 }))
            .preset(preset?.applyValue({ args0 -> args0 }))
            .profile(profile?.applyValue({ args0 -> args0 }))
            .rateControlMode(rateControlMode?.applyValue({ args0 -> args0 }))
            .sdr(sdr?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .vbvFullnessBits(vbvFullnessBits?.applyValue({ args0 -> args0 }))
            .vbvSizeBits(vbvSizeBits?.applyValue({ args0 -> args0 }))
            .widthPixels(widthPixels?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [JobConfigElementaryStreamVideoStreamH264Args].
 */
@PulumiTagMarker
public class JobConfigElementaryStreamVideoStreamH264ArgsBuilder internal constructor() {
    private var bitrateBps: Output? = null

    private var crfLevel: Output? = null

    private var entropyCoder: Output? = null

    private var frameRate: Output? = null

    private var gopDuration: Output? = null

    private var heightPixels: Output? = null

    private var hlg: Output? = null

    private var pixelFormat: Output? = null

    private var preset: Output? = null

    private var profile: Output? = null

    private var rateControlMode: Output? = null

    private var sdr: Output? = null

    private var vbvFullnessBits: Output? = null

    private var vbvSizeBits: Output? = null

    private var widthPixels: Output? = null

    /**
     * @param value The video bitrate in bits per second.
     */
    @JvmName("ergftvgwqssprlmw")
    public suspend fun bitrateBps(`value`: Output) {
        this.bitrateBps = value
    }

    /**
     * @param value Target CRF level. The default is '21'.
     */
    @JvmName("derrekasjyjwcujy")
    public suspend fun crfLevel(`value`: Output) {
        this.crfLevel = value
    }

    /**
     * @param value The entropy coder to use. The default is 'cabac'.
     */
    @JvmName("bqmgpyipcnxtbvsy")
    public suspend fun entropyCoder(`value`: Output) {
        this.entropyCoder = value
    }

    /**
     * @param value The target video frame rate in frames per second (FPS).
     */
    @JvmName("bmqthjkfxtpkfdpo")
    public suspend fun frameRate(`value`: Output) {
        this.frameRate = value
    }

    /**
     * @param value Select the GOP size based on the specified duration. The default is '3s'.
     */
    @JvmName("synhsmprtcyqvkgy")
    public suspend fun gopDuration(`value`: Output) {
        this.gopDuration = value
    }

    /**
     * @param value The height of the video in pixels.
     */
    @JvmName("byxfowrqhcpdawfv")
    public suspend fun heightPixels(`value`: Output) {
        this.heightPixels = value
    }

    /**
     * @param value HLG color format setting for H264.
     */
    @JvmName("bqomksukavemgawb")
    public suspend fun hlg(`value`: Output) {
        this.hlg = value
    }

    /**
     * @param value Pixel format to use. The default is 'yuv420p'.
     */
    @JvmName("sjbtvpuviouodgrt")
    public suspend fun pixelFormat(`value`: Output) {
        this.pixelFormat = value
    }

    /**
     * @param value Enforces the specified codec preset. The default is 'veryfast'.
     */
    @JvmName("opghukovlpodilhf")
    public suspend fun preset(`value`: Output) {
        this.preset = value
    }

    /**
     * @param value Enforces the specified codec profile.
     */
    @JvmName("rfoomrtjsdkmvryp")
    public suspend fun profile(`value`: Output) {
        this.profile = value
    }

    /**
     * @param value Specify the mode. The default is 'vbr'.
     */
    @JvmName("bbpbpvnhyuqqjjdt")
    public suspend fun rateControlMode(`value`: Output) {
        this.rateControlMode = value
    }

    /**
     * @param value SDR color format setting for H264.
     */
    @JvmName("ctmxjcdsoawqfseh")
    public suspend fun sdr(`value`: Output) {
        this.sdr = value
    }

    /**
     * @param value Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
     */
    @JvmName("ipjbpfpkheingyem")
    public suspend fun vbvFullnessBits(`value`: Output) {
        this.vbvFullnessBits = value
    }

    /**
     * @param value Size of the Video Buffering Verifier (VBV) buffer in bits.
     */
    @JvmName("sxdkalyhekpycncc")
    public suspend fun vbvSizeBits(`value`: Output) {
        this.vbvSizeBits = value
    }

    /**
     * @param value The width of the video in pixels.
     */
    @JvmName("xmiuxgfeejvamqlt")
    public suspend fun widthPixels(`value`: Output) {
        this.widthPixels = value
    }

    /**
     * @param value The video bitrate in bits per second.
     */
    @JvmName("jdlfatgeasrmmhuk")
    public suspend fun bitrateBps(`value`: Int) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.bitrateBps = mapped
    }

    /**
     * @param value Target CRF level. The default is '21'.
     */
    @JvmName("cadriibqxahydghi")
    public suspend fun crfLevel(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.crfLevel = mapped
    }

    /**
     * @param value The entropy coder to use. The default is 'cabac'.
     */
    @JvmName("qnviofjxfigqxyeq")
    public suspend fun entropyCoder(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.entropyCoder = mapped
    }

    /**
     * @param value The target video frame rate in frames per second (FPS).
     */
    @JvmName("crequwentnxyxlds")
    public suspend fun frameRate(`value`: Int) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.frameRate = mapped
    }

    /**
     * @param value Select the GOP size based on the specified duration. The default is '3s'.
     */
    @JvmName("mmmjdnkkclfpjgsd")
    public suspend fun gopDuration(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.gopDuration = mapped
    }

    /**
     * @param value The height of the video in pixels.
     */
    @JvmName("ydatuuplxclrjnrp")
    public suspend fun heightPixels(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.heightPixels = mapped
    }

    /**
     * @param value HLG color format setting for H264.
     */
    @JvmName("aydxpdqniyqdrscx")
    public suspend fun hlg(`value`: JobConfigElementaryStreamVideoStreamH264HlgArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.hlg = mapped
    }

    /**
     * @param argument HLG color format setting for H264.
     */
    @JvmName("vqfionrbpxlqcjxm")
    public suspend fun hlg(argument: suspend JobConfigElementaryStreamVideoStreamH264HlgArgsBuilder.() -> Unit) {
        val toBeMapped = JobConfigElementaryStreamVideoStreamH264HlgArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.hlg = mapped
    }

    /**
     * @param value Pixel format to use. The default is 'yuv420p'.
     */
    @JvmName("fgopaitldgomybnh")
    public suspend fun pixelFormat(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.pixelFormat = mapped
    }

    /**
     * @param value Enforces the specified codec preset. The default is 'veryfast'.
     */
    @JvmName("amogymspaieyquiy")
    public suspend fun preset(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.preset = mapped
    }

    /**
     * @param value Enforces the specified codec profile.
     */
    @JvmName("wdqhwsbwohxibrjl")
    public suspend fun profile(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.profile = mapped
    }

    /**
     * @param value Specify the mode. The default is 'vbr'.
     */
    @JvmName("awsullfgbfbyfrer")
    public suspend fun rateControlMode(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rateControlMode = mapped
    }

    /**
     * @param value SDR color format setting for H264.
     */
    @JvmName("rgheyxceljxtullj")
    public suspend fun sdr(`value`: JobConfigElementaryStreamVideoStreamH264SdrArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sdr = mapped
    }

    /**
     * @param argument SDR color format setting for H264.
     */
    @JvmName("mlsefwwreqaxenys")
    public suspend fun sdr(argument: suspend JobConfigElementaryStreamVideoStreamH264SdrArgsBuilder.() -> Unit) {
        val toBeMapped = JobConfigElementaryStreamVideoStreamH264SdrArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.sdr = mapped
    }

    /**
     * @param value Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
     */
    @JvmName("tlehbhdleqouajhc")
    public suspend fun vbvFullnessBits(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.vbvFullnessBits = mapped
    }

    /**
     * @param value Size of the Video Buffering Verifier (VBV) buffer in bits.
     */
    @JvmName("qbejwowdtknvnrgn")
    public suspend fun vbvSizeBits(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.vbvSizeBits = mapped
    }

    /**
     * @param value The width of the video in pixels.
     */
    @JvmName("tkbjqnjyqnmprnos")
    public suspend fun widthPixels(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.widthPixels = mapped
    }

    internal fun build(): JobConfigElementaryStreamVideoStreamH264Args =
        JobConfigElementaryStreamVideoStreamH264Args(
            bitrateBps = bitrateBps ?: throw PulumiNullFieldException("bitrateBps"),
            crfLevel = crfLevel,
            entropyCoder = entropyCoder,
            frameRate = frameRate ?: throw PulumiNullFieldException("frameRate"),
            gopDuration = gopDuration,
            heightPixels = heightPixels,
            hlg = hlg,
            pixelFormat = pixelFormat,
            preset = preset,
            profile = profile,
            rateControlMode = rateControlMode,
            sdr = sdr,
            vbvFullnessBits = vbvFullnessBits,
            vbvSizeBits = vbvSizeBits,
            widthPixels = widthPixels,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy