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

com.pulumi.azurenative.cdn.kotlin.inputs.DeepCreatedOriginArgs.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.cdn.kotlin.inputs

import com.pulumi.azurenative.cdn.inputs.DeepCreatedOriginArgs.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 kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * The main origin of CDN content which is added when creating a CDN endpoint.
 * @property enabled Origin is enabled for load balancing or not. By default, origin is always enabled.
 * @property hostName The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique across all origins in an endpoint.
 * @property httpPort The value of the HTTP port. Must be between 1 and 65535.
 * @property httpsPort The value of the HTTPS port. Must be between 1 and 65535.
 * @property name Origin name which must be unique within the endpoint.
 * @property originHostHeader The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.
 * @property priority Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.
 * @property privateLinkAlias The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'
 * @property privateLinkApprovalMessage A custom message to be included in the approval request to connect to the Private Link.
 * @property privateLinkLocation The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated
 * @property privateLinkResourceId The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'
 * @property weight Weight of the origin in given origin group for load balancing. Must be between 1 and 1000
 */
public data class DeepCreatedOriginArgs(
    public val enabled: Output? = null,
    public val hostName: Output,
    public val httpPort: Output? = null,
    public val httpsPort: Output? = null,
    public val name: Output,
    public val originHostHeader: Output? = null,
    public val priority: Output? = null,
    public val privateLinkAlias: Output? = null,
    public val privateLinkApprovalMessage: Output? = null,
    public val privateLinkLocation: Output? = null,
    public val privateLinkResourceId: Output? = null,
    public val weight: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.cdn.inputs.DeepCreatedOriginArgs =
        com.pulumi.azurenative.cdn.inputs.DeepCreatedOriginArgs.builder()
            .enabled(enabled?.applyValue({ args0 -> args0 }))
            .hostName(hostName.applyValue({ args0 -> args0 }))
            .httpPort(httpPort?.applyValue({ args0 -> args0 }))
            .httpsPort(httpsPort?.applyValue({ args0 -> args0 }))
            .name(name.applyValue({ args0 -> args0 }))
            .originHostHeader(originHostHeader?.applyValue({ args0 -> args0 }))
            .priority(priority?.applyValue({ args0 -> args0 }))
            .privateLinkAlias(privateLinkAlias?.applyValue({ args0 -> args0 }))
            .privateLinkApprovalMessage(privateLinkApprovalMessage?.applyValue({ args0 -> args0 }))
            .privateLinkLocation(privateLinkLocation?.applyValue({ args0 -> args0 }))
            .privateLinkResourceId(privateLinkResourceId?.applyValue({ args0 -> args0 }))
            .weight(weight?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [DeepCreatedOriginArgs].
 */
@PulumiTagMarker
public class DeepCreatedOriginArgsBuilder internal constructor() {
    private var enabled: Output? = null

    private var hostName: Output? = null

    private var httpPort: Output? = null

    private var httpsPort: Output? = null

    private var name: Output? = null

    private var originHostHeader: Output? = null

    private var priority: Output? = null

    private var privateLinkAlias: Output? = null

    private var privateLinkApprovalMessage: Output? = null

    private var privateLinkLocation: Output? = null

    private var privateLinkResourceId: Output? = null

    private var weight: Output? = null

    /**
     * @param value Origin is enabled for load balancing or not. By default, origin is always enabled.
     */
    @JvmName("tqcagijnnqeoqhox")
    public suspend fun enabled(`value`: Output) {
        this.enabled = value
    }

    /**
     * @param value The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique across all origins in an endpoint.
     */
    @JvmName("dxnrgdkarjloikas")
    public suspend fun hostName(`value`: Output) {
        this.hostName = value
    }

    /**
     * @param value The value of the HTTP port. Must be between 1 and 65535.
     */
    @JvmName("tstmuvkrjiofspwy")
    public suspend fun httpPort(`value`: Output) {
        this.httpPort = value
    }

    /**
     * @param value The value of the HTTPS port. Must be between 1 and 65535.
     */
    @JvmName("bjdvgrmricudgybx")
    public suspend fun httpsPort(`value`: Output) {
        this.httpsPort = value
    }

    /**
     * @param value Origin name which must be unique within the endpoint.
     */
    @JvmName("ofsugdajtqmmhkws")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.
     */
    @JvmName("rhaadywoclyrapup")
    public suspend fun originHostHeader(`value`: Output) {
        this.originHostHeader = value
    }

    /**
     * @param value Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.
     */
    @JvmName("rmbwolygumdjmnkm")
    public suspend fun priority(`value`: Output) {
        this.priority = value
    }

    /**
     * @param value The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'
     */
    @JvmName("daiomxfsahhhnulx")
    public suspend fun privateLinkAlias(`value`: Output) {
        this.privateLinkAlias = value
    }

    /**
     * @param value A custom message to be included in the approval request to connect to the Private Link.
     */
    @JvmName("ipndjfromjrvnxkj")
    public suspend fun privateLinkApprovalMessage(`value`: Output) {
        this.privateLinkApprovalMessage = value
    }

    /**
     * @param value The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated
     */
    @JvmName("uhofqxkmtnvckhea")
    public suspend fun privateLinkLocation(`value`: Output) {
        this.privateLinkLocation = value
    }

    /**
     * @param value The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'
     */
    @JvmName("pwwscnxofucncvft")
    public suspend fun privateLinkResourceId(`value`: Output) {
        this.privateLinkResourceId = value
    }

    /**
     * @param value Weight of the origin in given origin group for load balancing. Must be between 1 and 1000
     */
    @JvmName("mpjdfdyhnihretlv")
    public suspend fun weight(`value`: Output) {
        this.weight = value
    }

    /**
     * @param value Origin is enabled for load balancing or not. By default, origin is always enabled.
     */
    @JvmName("fanxcfjexyedkjnh")
    public suspend fun enabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enabled = mapped
    }

    /**
     * @param value The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique across all origins in an endpoint.
     */
    @JvmName("hqtuitimolhlvgpr")
    public suspend fun hostName(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.hostName = mapped
    }

    /**
     * @param value The value of the HTTP port. Must be between 1 and 65535.
     */
    @JvmName("fldesbaesttttjta")
    public suspend fun httpPort(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.httpPort = mapped
    }

    /**
     * @param value The value of the HTTPS port. Must be between 1 and 65535.
     */
    @JvmName("bbqlciowxddukpve")
    public suspend fun httpsPort(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.httpsPort = mapped
    }

    /**
     * @param value Origin name which must be unique within the endpoint.
     */
    @JvmName("avitfwvpchnyvvlp")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.
     */
    @JvmName("kentievkmnaxbpkd")
    public suspend fun originHostHeader(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.originHostHeader = mapped
    }

    /**
     * @param value Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.
     */
    @JvmName("gfvmfoiolwyscvaq")
    public suspend fun priority(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.priority = mapped
    }

    /**
     * @param value The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'
     */
    @JvmName("tmwidqleqxijcxha")
    public suspend fun privateLinkAlias(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.privateLinkAlias = mapped
    }

    /**
     * @param value A custom message to be included in the approval request to connect to the Private Link.
     */
    @JvmName("cxyluqhcrultdvwa")
    public suspend fun privateLinkApprovalMessage(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.privateLinkApprovalMessage = mapped
    }

    /**
     * @param value The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated
     */
    @JvmName("wcuimaubecomuulv")
    public suspend fun privateLinkLocation(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.privateLinkLocation = mapped
    }

    /**
     * @param value The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'
     */
    @JvmName("ofriyidgaqslklyb")
    public suspend fun privateLinkResourceId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.privateLinkResourceId = mapped
    }

    /**
     * @param value Weight of the origin in given origin group for load balancing. Must be between 1 and 1000
     */
    @JvmName("vhiebmymupwuckrc")
    public suspend fun weight(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.weight = mapped
    }

    internal fun build(): DeepCreatedOriginArgs = DeepCreatedOriginArgs(
        enabled = enabled,
        hostName = hostName ?: throw PulumiNullFieldException("hostName"),
        httpPort = httpPort,
        httpsPort = httpsPort,
        name = name ?: throw PulumiNullFieldException("name"),
        originHostHeader = originHostHeader,
        priority = priority,
        privateLinkAlias = privateLinkAlias,
        privateLinkApprovalMessage = privateLinkApprovalMessage,
        privateLinkLocation = privateLinkLocation,
        privateLinkResourceId = privateLinkResourceId,
        weight = weight,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy