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

com.pulumi.azurenative.network.kotlin.inputs.ApplicationGatewayRequestRoutingRuleArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.network.kotlin.inputs

import com.pulumi.azurenative.network.inputs.ApplicationGatewayRequestRoutingRuleArgs.builder
import com.pulumi.azurenative.network.kotlin.enums.ApplicationGatewayRequestRoutingRuleType
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.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Request routing rule of an application gateway.
 * @property backendAddressPool Backend address pool resource of the application gateway.
 * @property backendHttpSettings Backend http settings resource of the application gateway.
 * @property httpListener Http listener resource of the application gateway.
 * @property id Resource ID.
 * @property loadDistributionPolicy Load Distribution Policy resource of the application gateway.
 * @property name Name of the request routing rule that is unique within an Application Gateway.
 * @property priority Priority of the request routing rule.
 * @property redirectConfiguration Redirect configuration resource of the application gateway.
 * @property rewriteRuleSet Rewrite Rule Set resource in Basic rule of the application gateway.
 * @property ruleType Rule type.
 * @property urlPathMap URL path map resource of the application gateway.
 */
public data class ApplicationGatewayRequestRoutingRuleArgs(
    public val backendAddressPool: Output? = null,
    public val backendHttpSettings: Output? = null,
    public val httpListener: Output? = null,
    public val id: Output? = null,
    public val loadDistributionPolicy: Output? = null,
    public val name: Output? = null,
    public val priority: Output? = null,
    public val redirectConfiguration: Output? = null,
    public val rewriteRuleSet: Output? = null,
    public val ruleType: Output>? = null,
    public val urlPathMap: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.network.inputs.ApplicationGatewayRequestRoutingRuleArgs =
        com.pulumi.azurenative.network.inputs.ApplicationGatewayRequestRoutingRuleArgs.builder()
            .backendAddressPool(
                backendAddressPool?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .backendHttpSettings(
                backendHttpSettings?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .httpListener(httpListener?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .id(id?.applyValue({ args0 -> args0 }))
            .loadDistributionPolicy(
                loadDistributionPolicy?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .name(name?.applyValue({ args0 -> args0 }))
            .priority(priority?.applyValue({ args0 -> args0 }))
            .redirectConfiguration(
                redirectConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .rewriteRuleSet(rewriteRuleSet?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .ruleType(
                ruleType?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .urlPathMap(urlPathMap?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [ApplicationGatewayRequestRoutingRuleArgs].
 */
@PulumiTagMarker
public class ApplicationGatewayRequestRoutingRuleArgsBuilder internal constructor() {
    private var backendAddressPool: Output? = null

    private var backendHttpSettings: Output? = null

    private var httpListener: Output? = null

    private var id: Output? = null

    private var loadDistributionPolicy: Output? = null

    private var name: Output? = null

    private var priority: Output? = null

    private var redirectConfiguration: Output? = null

    private var rewriteRuleSet: Output? = null

    private var ruleType: Output>? = null

    private var urlPathMap: Output? = null

    /**
     * @param value Backend address pool resource of the application gateway.
     */
    @JvmName("xgpebisijmtipbhh")
    public suspend fun backendAddressPool(`value`: Output) {
        this.backendAddressPool = value
    }

    /**
     * @param value Backend http settings resource of the application gateway.
     */
    @JvmName("nieogvhnnskvcfkl")
    public suspend fun backendHttpSettings(`value`: Output) {
        this.backendHttpSettings = value
    }

    /**
     * @param value Http listener resource of the application gateway.
     */
    @JvmName("fiuegirfecsfynog")
    public suspend fun httpListener(`value`: Output) {
        this.httpListener = value
    }

    /**
     * @param value Resource ID.
     */
    @JvmName("oghvcpyhmkfxcbni")
    public suspend fun id(`value`: Output) {
        this.id = value
    }

    /**
     * @param value Load Distribution Policy resource of the application gateway.
     */
    @JvmName("krdlgnvahamlyosu")
    public suspend fun loadDistributionPolicy(`value`: Output) {
        this.loadDistributionPolicy = value
    }

    /**
     * @param value Name of the request routing rule that is unique within an Application Gateway.
     */
    @JvmName("hdgxnsllvwmqcdih")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value Priority of the request routing rule.
     */
    @JvmName("gvqtskuyajcdvyrh")
    public suspend fun priority(`value`: Output) {
        this.priority = value
    }

    /**
     * @param value Redirect configuration resource of the application gateway.
     */
    @JvmName("llepcicxmskrmhbn")
    public suspend fun redirectConfiguration(`value`: Output) {
        this.redirectConfiguration = value
    }

    /**
     * @param value Rewrite Rule Set resource in Basic rule of the application gateway.
     */
    @JvmName("yithorhjubfqbtdp")
    public suspend fun rewriteRuleSet(`value`: Output) {
        this.rewriteRuleSet = value
    }

    /**
     * @param value Rule type.
     */
    @JvmName("fmgaifacgognjuci")
    public suspend fun ruleType(`value`: Output>) {
        this.ruleType = value
    }

    /**
     * @param value URL path map resource of the application gateway.
     */
    @JvmName("wddlcddungctaxjj")
    public suspend fun urlPathMap(`value`: Output) {
        this.urlPathMap = value
    }

    /**
     * @param value Backend address pool resource of the application gateway.
     */
    @JvmName("oseyyvvoejlgshhj")
    public suspend fun backendAddressPool(`value`: SubResourceArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.backendAddressPool = mapped
    }

    /**
     * @param argument Backend address pool resource of the application gateway.
     */
    @JvmName("lemvwahamvexdket")
    public suspend fun backendAddressPool(argument: suspend SubResourceArgsBuilder.() -> Unit) {
        val toBeMapped = SubResourceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.backendAddressPool = mapped
    }

    /**
     * @param value Backend http settings resource of the application gateway.
     */
    @JvmName("kvkrtvxnbtveenvt")
    public suspend fun backendHttpSettings(`value`: SubResourceArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.backendHttpSettings = mapped
    }

    /**
     * @param argument Backend http settings resource of the application gateway.
     */
    @JvmName("cggswtyodqysxyoc")
    public suspend fun backendHttpSettings(argument: suspend SubResourceArgsBuilder.() -> Unit) {
        val toBeMapped = SubResourceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.backendHttpSettings = mapped
    }

    /**
     * @param value Http listener resource of the application gateway.
     */
    @JvmName("rggnpgwstlmuroie")
    public suspend fun httpListener(`value`: SubResourceArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.httpListener = mapped
    }

    /**
     * @param argument Http listener resource of the application gateway.
     */
    @JvmName("kdjanwknuugtkxct")
    public suspend fun httpListener(argument: suspend SubResourceArgsBuilder.() -> Unit) {
        val toBeMapped = SubResourceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.httpListener = mapped
    }

    /**
     * @param value Resource ID.
     */
    @JvmName("ofjegxqeagtgadmy")
    public suspend fun id(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.id = mapped
    }

    /**
     * @param value Load Distribution Policy resource of the application gateway.
     */
    @JvmName("cifwutvphieajcla")
    public suspend fun loadDistributionPolicy(`value`: SubResourceArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.loadDistributionPolicy = mapped
    }

    /**
     * @param argument Load Distribution Policy resource of the application gateway.
     */
    @JvmName("rikaeybdjiktyjgd")
    public suspend fun loadDistributionPolicy(argument: suspend SubResourceArgsBuilder.() -> Unit) {
        val toBeMapped = SubResourceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.loadDistributionPolicy = mapped
    }

    /**
     * @param value Name of the request routing rule that is unique within an Application Gateway.
     */
    @JvmName("hbkrhgelnermbwvf")
    public suspend fun name(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value Priority of the request routing rule.
     */
    @JvmName("fokhjmkygaaitmad")
    public suspend fun priority(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.priority = mapped
    }

    /**
     * @param value Redirect configuration resource of the application gateway.
     */
    @JvmName("pcohovvajiqgjtqy")
    public suspend fun redirectConfiguration(`value`: SubResourceArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.redirectConfiguration = mapped
    }

    /**
     * @param argument Redirect configuration resource of the application gateway.
     */
    @JvmName("mwmpcgdkssrbbwyf")
    public suspend fun redirectConfiguration(argument: suspend SubResourceArgsBuilder.() -> Unit) {
        val toBeMapped = SubResourceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.redirectConfiguration = mapped
    }

    /**
     * @param value Rewrite Rule Set resource in Basic rule of the application gateway.
     */
    @JvmName("wqvbxerfcjydwcjv")
    public suspend fun rewriteRuleSet(`value`: SubResourceArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rewriteRuleSet = mapped
    }

    /**
     * @param argument Rewrite Rule Set resource in Basic rule of the application gateway.
     */
    @JvmName("uoprrfmaowivauod")
    public suspend fun rewriteRuleSet(argument: suspend SubResourceArgsBuilder.() -> Unit) {
        val toBeMapped = SubResourceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.rewriteRuleSet = mapped
    }

    /**
     * @param value Rule type.
     */
    @JvmName("dlxxrdpebylnnjlf")
    public suspend fun ruleType(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ruleType = mapped
    }

    /**
     * @param value Rule type.
     */
    @JvmName("vehcusxrjfcryxio")
    public fun ruleType(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.ruleType = mapped
    }

    /**
     * @param value Rule type.
     */
    @JvmName("pbsvhlfqhcogajtu")
    public fun ruleType(`value`: ApplicationGatewayRequestRoutingRuleType) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.ruleType = mapped
    }

    /**
     * @param value URL path map resource of the application gateway.
     */
    @JvmName("ufytecjyatjashxv")
    public suspend fun urlPathMap(`value`: SubResourceArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.urlPathMap = mapped
    }

    /**
     * @param argument URL path map resource of the application gateway.
     */
    @JvmName("dnrrgtiqlbyktywe")
    public suspend fun urlPathMap(argument: suspend SubResourceArgsBuilder.() -> Unit) {
        val toBeMapped = SubResourceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.urlPathMap = mapped
    }

    internal fun build(): ApplicationGatewayRequestRoutingRuleArgs =
        ApplicationGatewayRequestRoutingRuleArgs(
            backendAddressPool = backendAddressPool,
            backendHttpSettings = backendHttpSettings,
            httpListener = httpListener,
            id = id,
            loadDistributionPolicy = loadDistributionPolicy,
            name = name,
            priority = priority,
            redirectConfiguration = redirectConfiguration,
            rewriteRuleSet = rewriteRuleSet,
            ruleType = ruleType,
            urlPathMap = urlPathMap,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy