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

com.pulumi.azurenative.videoanalyzer.kotlin.inputs.VideoCreationPropertiesArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.videoanalyzer.kotlin.inputs

import com.pulumi.azurenative.videoanalyzer.inputs.VideoCreationPropertiesArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * Optional properties to be used in case a new video resource needs to be created on the service. These will not take effect if the video already exists.
 * @property description Optional description provided by the user. Value can be up to 2048 characters long.
 * @property retentionPeriod Video retention period indicates how long the video is kept in storage. Value must be specified in ISO8601 duration format (i.e. "P1D" equals 1 day) and can vary between 1 day to 10 years, in 1 day increments. When absent (null), all video content is retained indefinitely. This property is only allowed for topologies where "kind" is set to "live".
 * @property segmentLength Segment length indicates the length of individual content files (segments) which are persisted to storage. Smaller segments provide lower archive playback latency but generate larger volume of storage transactions. Larger segments reduce the amount of storage transactions while increasing the archive playback latency. Value must be specified in ISO8601 duration format (i.e. "PT30S" equals 30 seconds) and can vary between 30 seconds to 5 minutes, in 30 seconds increments. Changing this value after the initial call to create the video resource can lead to errors when uploading content to the archive. Default value is 30 seconds. This property is only allowed for topologies where "kind" is set to "live".
 * @property title Optional title provided by the user. Value can be up to 256 characters long.
 */
public data class VideoCreationPropertiesArgs(
    public val description: Output? = null,
    public val retentionPeriod: Output? = null,
    public val segmentLength: Output? = null,
    public val title: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.videoanalyzer.inputs.VideoCreationPropertiesArgs =
        com.pulumi.azurenative.videoanalyzer.inputs.VideoCreationPropertiesArgs.builder()
            .description(description?.applyValue({ args0 -> args0 }))
            .retentionPeriod(retentionPeriod?.applyValue({ args0 -> args0 }))
            .segmentLength(segmentLength?.applyValue({ args0 -> args0 }))
            .title(title?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [VideoCreationPropertiesArgs].
 */
@PulumiTagMarker
public class VideoCreationPropertiesArgsBuilder internal constructor() {
    private var description: Output? = null

    private var retentionPeriod: Output? = null

    private var segmentLength: Output? = null

    private var title: Output? = null

    /**
     * @param value Optional description provided by the user. Value can be up to 2048 characters long.
     */
    @JvmName("nlcgqrnappqajnir")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value Video retention period indicates how long the video is kept in storage. Value must be specified in ISO8601 duration format (i.e. "P1D" equals 1 day) and can vary between 1 day to 10 years, in 1 day increments. When absent (null), all video content is retained indefinitely. This property is only allowed for topologies where "kind" is set to "live".
     */
    @JvmName("hcdoawwvovqjrets")
    public suspend fun retentionPeriod(`value`: Output) {
        this.retentionPeriod = value
    }

    /**
     * @param value Segment length indicates the length of individual content files (segments) which are persisted to storage. Smaller segments provide lower archive playback latency but generate larger volume of storage transactions. Larger segments reduce the amount of storage transactions while increasing the archive playback latency. Value must be specified in ISO8601 duration format (i.e. "PT30S" equals 30 seconds) and can vary between 30 seconds to 5 minutes, in 30 seconds increments. Changing this value after the initial call to create the video resource can lead to errors when uploading content to the archive. Default value is 30 seconds. This property is only allowed for topologies where "kind" is set to "live".
     */
    @JvmName("lqdgkidauhomksph")
    public suspend fun segmentLength(`value`: Output) {
        this.segmentLength = value
    }

    /**
     * @param value Optional title provided by the user. Value can be up to 256 characters long.
     */
    @JvmName("pmpdeapupgeogwls")
    public suspend fun title(`value`: Output) {
        this.title = value
    }

    /**
     * @param value Optional description provided by the user. Value can be up to 2048 characters long.
     */
    @JvmName("aonsevuilpobnonh")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value Video retention period indicates how long the video is kept in storage. Value must be specified in ISO8601 duration format (i.e. "P1D" equals 1 day) and can vary between 1 day to 10 years, in 1 day increments. When absent (null), all video content is retained indefinitely. This property is only allowed for topologies where "kind" is set to "live".
     */
    @JvmName("ggdkenyvrhtbesby")
    public suspend fun retentionPeriod(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.retentionPeriod = mapped
    }

    /**
     * @param value Segment length indicates the length of individual content files (segments) which are persisted to storage. Smaller segments provide lower archive playback latency but generate larger volume of storage transactions. Larger segments reduce the amount of storage transactions while increasing the archive playback latency. Value must be specified in ISO8601 duration format (i.e. "PT30S" equals 30 seconds) and can vary between 30 seconds to 5 minutes, in 30 seconds increments. Changing this value after the initial call to create the video resource can lead to errors when uploading content to the archive. Default value is 30 seconds. This property is only allowed for topologies where "kind" is set to "live".
     */
    @JvmName("lloqfmwmuhyfvxnf")
    public suspend fun segmentLength(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.segmentLength = mapped
    }

    /**
     * @param value Optional title provided by the user. Value can be up to 256 characters long.
     */
    @JvmName("sdoqsupvpvsuuyix")
    public suspend fun title(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.title = mapped
    }

    internal fun build(): VideoCreationPropertiesArgs = VideoCreationPropertiesArgs(
        description = description,
        retentionPeriod = retentionPeriod,
        segmentLength = segmentLength,
        title = title,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy