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

com.pulumi.azurenative.media.kotlin.inputs.JobInputClipArgs.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: 2.82.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

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

import com.pulumi.azurenative.media.inputs.JobInputClipArgs.builder
import com.pulumi.core.Either
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 kotlin.Any
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * Represents input files for a Job.
 * @property end Defines a point on the timeline of the input media at which processing will end. Defaults to the end of the input media.
 * @property files List of files. Required for JobInputHttp. Maximum of 4000 characters each. Query strings will not be returned in service responses to prevent sensitive data exposure.
 * @property inputDefinitions Defines a list of InputDefinitions. For each InputDefinition, it defines a list of track selections and related metadata.
 * @property label A label that is assigned to a JobInputClip, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'.
 * @property odataType The discriminator for derived types.
 * Expected value is '#Microsoft.Media.JobInputClip'.
 * @property start Defines a point on the timeline of the input media at which processing will start. Defaults to the beginning of the input media.
 */
public data class JobInputClipArgs(
    public val end: Output>? = null,
    public val files: Output>? = null,
    public val inputDefinitions: Output>? = null,
    public val label: Output? = null,
    public val odataType: Output,
    public val start: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.media.inputs.JobInputClipArgs =
        com.pulumi.azurenative.media.inputs.JobInputClipArgs.builder()
            .end(
                end?.applyValue({ args0 ->
                    args0.transform(
                        { args0 -> args0.let({ args0 -> args0.toJava() }) },
                        { args0 -> args0.let({ args0 -> args0.toJava() }) },
                    )
                }),
            )
            .files(files?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .inputDefinitions(inputDefinitions?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .label(label?.applyValue({ args0 -> args0 }))
            .odataType(odataType.applyValue({ args0 -> args0 }))
            .start(
                start?.applyValue({ args0 ->
                    args0.transform({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
                }),
            ).build()
}

/**
 * Builder for [JobInputClipArgs].
 */
@PulumiTagMarker
public class JobInputClipArgsBuilder internal constructor() {
    private var end: Output>? = null

    private var files: Output>? = null

    private var inputDefinitions: Output>? = null

    private var label: Output? = null

    private var odataType: Output? = null

    private var start: Output>? = null

    /**
     * @param value Defines a point on the timeline of the input media at which processing will end. Defaults to the end of the input media.
     */
    @JvmName("myarcxjpbhqnvfff")
    public suspend fun end(`value`: Output>) {
        this.end = value
    }

    /**
     * @param value List of files. Required for JobInputHttp. Maximum of 4000 characters each. Query strings will not be returned in service responses to prevent sensitive data exposure.
     */
    @JvmName("pwqptpbbkhjravoh")
    public suspend fun files(`value`: Output>) {
        this.files = value
    }

    @JvmName("xxbprhrkalcibjdh")
    public suspend fun files(vararg values: Output) {
        this.files = Output.all(values.asList())
    }

    /**
     * @param values List of files. Required for JobInputHttp. Maximum of 4000 characters each. Query strings will not be returned in service responses to prevent sensitive data exposure.
     */
    @JvmName("dljnobaylpacnddy")
    public suspend fun files(values: List>) {
        this.files = Output.all(values)
    }

    /**
     * @param value Defines a list of InputDefinitions. For each InputDefinition, it defines a list of track selections and related metadata.
     */
    @JvmName("gmtdpkdrotnorvge")
    public suspend fun inputDefinitions(`value`: Output>) {
        this.inputDefinitions = value
    }

    @JvmName("hxerprljaryctgxw")
    public suspend fun inputDefinitions(vararg values: Output) {
        this.inputDefinitions = Output.all(values.asList())
    }

    /**
     * @param values Defines a list of InputDefinitions. For each InputDefinition, it defines a list of track selections and related metadata.
     */
    @JvmName("bljalbcrcladgusn")
    public suspend fun inputDefinitions(values: List>) {
        this.inputDefinitions = Output.all(values)
    }

    /**
     * @param value A label that is assigned to a JobInputClip, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'.
     */
    @JvmName("wephxnvjegjadpjx")
    public suspend fun label(`value`: Output) {
        this.label = value
    }

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

    /**
     * @param value Defines a point on the timeline of the input media at which processing will start. Defaults to the beginning of the input media.
     */
    @JvmName("gkvywwvmqeyinjpd")
    public suspend fun start(`value`: Output>) {
        this.start = value
    }

    /**
     * @param value Defines a point on the timeline of the input media at which processing will end. Defaults to the end of the input media.
     */
    @JvmName("wnjfusxednqemshh")
    public suspend fun end(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.end = mapped
    }

    /**
     * @param value Defines a point on the timeline of the input media at which processing will end. Defaults to the end of the input media.
     */
    @JvmName("uwpgctasrquflsyj")
    public fun end(`value`: AbsoluteClipTimeArgs) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.end = mapped
    }

    /**
     * @param value Defines a point on the timeline of the input media at which processing will end. Defaults to the end of the input media.
     */
    @JvmName("kkcpcupetolmalst")
    public fun end(`value`: UtcClipTimeArgs) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.end = mapped
    }

    /**
     * @param value List of files. Required for JobInputHttp. Maximum of 4000 characters each. Query strings will not be returned in service responses to prevent sensitive data exposure.
     */
    @JvmName("fwrmbeqfwlkbtwbf")
    public suspend fun files(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.files = mapped
    }

    /**
     * @param values List of files. Required for JobInputHttp. Maximum of 4000 characters each. Query strings will not be returned in service responses to prevent sensitive data exposure.
     */
    @JvmName("qassgjvpjuovptjc")
    public suspend fun files(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.files = mapped
    }

    /**
     * @param value Defines a list of InputDefinitions. For each InputDefinition, it defines a list of track selections and related metadata.
     */
    @JvmName("breygqntbfawcrpf")
    public suspend fun inputDefinitions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.inputDefinitions = mapped
    }

    /**
     * @param values Defines a list of InputDefinitions. For each InputDefinition, it defines a list of track selections and related metadata.
     */
    @JvmName("afgrymjkdjtredva")
    public suspend fun inputDefinitions(vararg values: Any) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.inputDefinitions = mapped
    }

    /**
     * @param value A label that is assigned to a JobInputClip, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'.
     */
    @JvmName("dsofddtacmdptiba")
    public suspend fun label(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.label = mapped
    }

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

    /**
     * @param value Defines a point on the timeline of the input media at which processing will start. Defaults to the beginning of the input media.
     */
    @JvmName("ifdlqiihvjciuehd")
    public suspend fun start(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.start = mapped
    }

    /**
     * @param value Defines a point on the timeline of the input media at which processing will start. Defaults to the beginning of the input media.
     */
    @JvmName("tleshixymoqlotvt")
    public fun start(`value`: AbsoluteClipTimeArgs) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.start = mapped
    }

    /**
     * @param value Defines a point on the timeline of the input media at which processing will start. Defaults to the beginning of the input media.
     */
    @JvmName("xlaabvbctryhoeoy")
    public fun start(`value`: UtcClipTimeArgs) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.start = mapped
    }

    internal fun build(): JobInputClipArgs = JobInputClipArgs(
        end = end,
        files = files,
        inputDefinitions = inputDefinitions,
        label = label,
        odataType = odataType ?: throw PulumiNullFieldException("odataType"),
        start = start,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy