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

com.pulumi.awsnative.mediapackage.kotlin.OriginEndpoint.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: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.mediapackage.kotlin

import com.pulumi.awsnative.kotlin.outputs.Tag
import com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointOrigination
import com.pulumi.awsnative.mediapackage.kotlin.outputs.OriginEndpointAuthorization
import com.pulumi.awsnative.mediapackage.kotlin.outputs.OriginEndpointCmafPackage
import com.pulumi.awsnative.mediapackage.kotlin.outputs.OriginEndpointDashPackage
import com.pulumi.awsnative.mediapackage.kotlin.outputs.OriginEndpointHlsPackage
import com.pulumi.awsnative.mediapackage.kotlin.outputs.OriginEndpointMssPackage
import com.pulumi.core.Output
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import com.pulumi.awsnative.kotlin.outputs.Tag.Companion.toKotlin as tagToKotlin
import com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointOrigination.Companion.toKotlin as originEndpointOriginationToKotlin
import com.pulumi.awsnative.mediapackage.kotlin.outputs.OriginEndpointAuthorization.Companion.toKotlin as originEndpointAuthorizationToKotlin
import com.pulumi.awsnative.mediapackage.kotlin.outputs.OriginEndpointCmafPackage.Companion.toKotlin as originEndpointCmafPackageToKotlin
import com.pulumi.awsnative.mediapackage.kotlin.outputs.OriginEndpointDashPackage.Companion.toKotlin as originEndpointDashPackageToKotlin
import com.pulumi.awsnative.mediapackage.kotlin.outputs.OriginEndpointHlsPackage.Companion.toKotlin as originEndpointHlsPackageToKotlin
import com.pulumi.awsnative.mediapackage.kotlin.outputs.OriginEndpointMssPackage.Companion.toKotlin as originEndpointMssPackageToKotlin

/**
 * Builder for [OriginEndpoint].
 */
@PulumiTagMarker
public class OriginEndpointResourceBuilder internal constructor() {
    public var name: String? = null

    public var args: OriginEndpointArgs = OriginEndpointArgs()

    public var opts: CustomResourceOptions = CustomResourceOptions()

    /**
     * @param name The _unique_ name of the resulting resource.
     */
    public fun name(`value`: String) {
        this.name = value
    }

    /**
     * @param block The arguments to use to populate this resource's properties.
     */
    public suspend fun args(block: suspend OriginEndpointArgsBuilder.() -> Unit) {
        val builder = OriginEndpointArgsBuilder()
        block(builder)
        this.args = builder.build()
    }

    /**
     * @param block A bag of options that control this resource's behavior.
     */
    public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
        this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
    }

    internal fun build(): OriginEndpoint {
        val builtJavaResource =
            com.pulumi.awsnative.mediapackage.OriginEndpoint(
                this.name,
                this.args.toJava(),
                this.opts.toJava(),
            )
        return OriginEndpoint(builtJavaResource)
    }
}

/**
 * Resource schema for AWS::MediaPackage::OriginEndpoint
 */
public class OriginEndpoint internal constructor(
    override val javaResource: com.pulumi.awsnative.mediapackage.OriginEndpoint,
) : KotlinCustomResource(javaResource, OriginEndpointMapper) {
    /**
     * The Amazon Resource Name (ARN) assigned to the OriginEndpoint.
     */
    public val arn: Output
        get() = javaResource.arn().applyValue({ args0 -> args0 })

    /**
     * Parameters for CDN authorization.
     */
    public val authorization: Output?
        get() = javaResource.authorization().applyValue({ args0 ->
            args0.map({ args0 ->
                args0.let({ args0 -> originEndpointAuthorizationToKotlin(args0) })
            }).orElse(null)
        })

    /**
     * The ID of the OriginEndpoint.
     */
    public val awsId: Output
        get() = javaResource.awsId().applyValue({ args0 -> args0 })

    /**
     * The ID of the Channel the OriginEndpoint is associated with.
     */
    public val channelId: Output
        get() = javaResource.channelId().applyValue({ args0 -> args0 })

    /**
     * Parameters for Common Media Application Format (CMAF) packaging.
     */
    public val cmafPackage: Output?
        get() = javaResource.cmafPackage().applyValue({ args0 ->
            args0.map({ args0 ->
                args0.let({ args0 ->
                    originEndpointCmafPackageToKotlin(args0)
                })
            }).orElse(null)
        })

    /**
     * Parameters for DASH packaging.
     */
    public val dashPackage: Output?
        get() = javaResource.dashPackage().applyValue({ args0 ->
            args0.map({ args0 ->
                args0.let({ args0 ->
                    originEndpointDashPackageToKotlin(args0)
                })
            }).orElse(null)
        })

    /**
     * A short text description of the OriginEndpoint.
     */
    public val description: Output?
        get() = javaResource.description().applyValue({ args0 ->
            args0.map({ args0 ->
                args0
            }).orElse(null)
        })

    /**
     * Parameters for Apple HLS packaging.
     */
    public val hlsPackage: Output?
        get() = javaResource.hlsPackage().applyValue({ args0 ->
            args0.map({ args0 ->
                args0.let({ args0 ->
                    originEndpointHlsPackageToKotlin(args0)
                })
            }).orElse(null)
        })

    /**
     * A short string appended to the end of the OriginEndpoint URL.
     */
    public val manifestName: Output?
        get() = javaResource.manifestName().applyValue({ args0 ->
            args0.map({ args0 ->
                args0
            }).orElse(null)
        })

    /**
     * Parameters for Microsoft Smooth Streaming packaging.
     */
    public val mssPackage: Output?
        get() = javaResource.mssPackage().applyValue({ args0 ->
            args0.map({ args0 ->
                args0.let({ args0 ->
                    originEndpointMssPackageToKotlin(args0)
                })
            }).orElse(null)
        })

    /**
     * Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint may by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be requested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination
     */
    public val origination: Output?
        get() = javaResource.origination().applyValue({ args0 ->
            args0.map({ args0 ->
                args0.let({ args0 ->
                    originEndpointOriginationToKotlin(args0)
                })
            }).orElse(null)
        })

    /**
     * Maximum duration (seconds) of content to retain for startover playback. If not specified, startover playback will be disabled for the OriginEndpoint.
     */
    public val startoverWindowSeconds: Output?
        get() = javaResource.startoverWindowSeconds().applyValue({ args0 ->
            args0.map({ args0 ->
                args0
            }).orElse(null)
        })

    /**
     * A collection of tags associated with a resource
     */
    public val tags: Output>?
        get() = javaResource.tags().applyValue({ args0 ->
            args0.map({ args0 ->
                args0.map({ args0 ->
                    args0.let({ args0 -> tagToKotlin(args0) })
                })
            }).orElse(null)
        })

    /**
     * Amount of delay (seconds) to enforce on the playback of live content. If not specified, there will be no time delay in effect for the OriginEndpoint.
     */
    public val timeDelaySeconds: Output?
        get() = javaResource.timeDelaySeconds().applyValue({ args0 ->
            args0.map({ args0 ->
                args0
            }).orElse(null)
        })

    /**
     * The URL of the packaged OriginEndpoint for consumption.
     */
    public val url: Output
        get() = javaResource.url().applyValue({ args0 -> args0 })

    /**
     * A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.
     */
    public val whitelist: Output>?
        get() = javaResource.whitelist().applyValue({ args0 ->
            args0.map({ args0 ->
                args0.map({ args0 ->
                    args0
                })
            }).orElse(null)
        })
}

public object OriginEndpointMapper : ResourceMapper {
    override fun supportsMappingOfType(javaResource: Resource): Boolean =
        com.pulumi.awsnative.mediapackage.OriginEndpoint::class == javaResource::class

    override fun map(javaResource: Resource): OriginEndpoint = OriginEndpoint(
        javaResource as
            com.pulumi.awsnative.mediapackage.OriginEndpoint,
    )
}

/**
 * @see [OriginEndpoint].
 * @param name The _unique_ name of the resulting resource.
 * @param block Builder for [OriginEndpoint].
 */
public suspend fun originEndpoint(
    name: String,
    block: suspend OriginEndpointResourceBuilder.() -> Unit,
): OriginEndpoint {
    val builder = OriginEndpointResourceBuilder()
    builder.name(name)
    block(builder)
    return builder.build()
}

/**
 * @see [OriginEndpoint].
 * @param name The _unique_ name of the resulting resource.
 */
public fun originEndpoint(name: String): OriginEndpoint {
    val builder = OriginEndpointResourceBuilder()
    builder.name(name)
    return builder.build()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy