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

com.pulumi.azurenative.network.kotlin.inputs.RulesEngineActionArgs.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.network.kotlin.inputs

import com.pulumi.azurenative.network.inputs.RulesEngineActionArgs.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.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * One or more actions that will execute, modifying the request and/or response.
 * @property requestHeaderActions A list of header actions to apply from the request from AFD to the origin.
 * @property responseHeaderActions A list of header actions to apply from the response from AFD to the client.
 * @property routeConfigurationOverride Override the route configuration.
 */
public data class RulesEngineActionArgs(
    public val requestHeaderActions: Output>? = null,
    public val responseHeaderActions: Output>? = null,
    public val routeConfigurationOverride: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.network.inputs.RulesEngineActionArgs =
        com.pulumi.azurenative.network.inputs.RulesEngineActionArgs.builder()
            .requestHeaderActions(
                requestHeaderActions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .responseHeaderActions(
                responseHeaderActions?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .routeConfigurationOverride(
                routeConfigurationOverride?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0.let({ args0 -> args0.toJava() }) }, { args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            ).build()
}

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

    private var responseHeaderActions: Output>? = null

    private var routeConfigurationOverride:
        Output>? = null

    /**
     * @param value A list of header actions to apply from the request from AFD to the origin.
     */
    @JvmName("pxuptdmjsvrrouag")
    public suspend fun requestHeaderActions(`value`: Output>) {
        this.requestHeaderActions = value
    }

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

    /**
     * @param values A list of header actions to apply from the request from AFD to the origin.
     */
    @JvmName("absuaapddmbxhoxk")
    public suspend fun requestHeaderActions(values: List>) {
        this.requestHeaderActions = Output.all(values)
    }

    /**
     * @param value A list of header actions to apply from the response from AFD to the client.
     */
    @JvmName("ckjymdohodwymxuq")
    public suspend fun responseHeaderActions(`value`: Output>) {
        this.responseHeaderActions = value
    }

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

    /**
     * @param values A list of header actions to apply from the response from AFD to the client.
     */
    @JvmName("cfhxcnycdjasprpd")
    public suspend fun responseHeaderActions(values: List>) {
        this.responseHeaderActions = Output.all(values)
    }

    /**
     * @param value Override the route configuration.
     */
    @JvmName("digmdbxsywrfwiij")
    public suspend fun routeConfigurationOverride(`value`: Output>) {
        this.routeConfigurationOverride = value
    }

    /**
     * @param value A list of header actions to apply from the request from AFD to the origin.
     */
    @JvmName("qptnmiynnnbcnnuc")
    public suspend fun requestHeaderActions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.requestHeaderActions = mapped
    }

    /**
     * @param argument A list of header actions to apply from the request from AFD to the origin.
     */
    @JvmName("iiytfxnrpttnkwfo")
    public suspend fun requestHeaderActions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            HeaderActionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.requestHeaderActions = mapped
    }

    /**
     * @param argument A list of header actions to apply from the request from AFD to the origin.
     */
    @JvmName("gfxhthyettembvvd")
    public suspend fun requestHeaderActions(vararg argument: suspend HeaderActionArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            HeaderActionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.requestHeaderActions = mapped
    }

    /**
     * @param argument A list of header actions to apply from the request from AFD to the origin.
     */
    @JvmName("tvkglhbagunwpgce")
    public suspend fun requestHeaderActions(argument: suspend HeaderActionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(HeaderActionArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.requestHeaderActions = mapped
    }

    /**
     * @param values A list of header actions to apply from the request from AFD to the origin.
     */
    @JvmName("chugxmvcepjutxyv")
    public suspend fun requestHeaderActions(vararg values: HeaderActionArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.requestHeaderActions = mapped
    }

    /**
     * @param value A list of header actions to apply from the response from AFD to the client.
     */
    @JvmName("wlhtqoaliupifxyp")
    public suspend fun responseHeaderActions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.responseHeaderActions = mapped
    }

    /**
     * @param argument A list of header actions to apply from the response from AFD to the client.
     */
    @JvmName("lijlugwwhtwwldhv")
    public suspend fun responseHeaderActions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            HeaderActionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.responseHeaderActions = mapped
    }

    /**
     * @param argument A list of header actions to apply from the response from AFD to the client.
     */
    @JvmName("roxfhsasvxbcybfy")
    public suspend fun responseHeaderActions(vararg argument: suspend HeaderActionArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            HeaderActionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.responseHeaderActions = mapped
    }

    /**
     * @param argument A list of header actions to apply from the response from AFD to the client.
     */
    @JvmName("afkljlqaaodtyxkm")
    public suspend fun responseHeaderActions(argument: suspend HeaderActionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(HeaderActionArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.responseHeaderActions = mapped
    }

    /**
     * @param values A list of header actions to apply from the response from AFD to the client.
     */
    @JvmName("bjpeugvdsdvxowpy")
    public suspend fun responseHeaderActions(vararg values: HeaderActionArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.responseHeaderActions = mapped
    }

    /**
     * @param value Override the route configuration.
     */
    @JvmName("ucikhuyusvfksgle")
    public suspend fun routeConfigurationOverride(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.routeConfigurationOverride = mapped
    }

    /**
     * @param value Override the route configuration.
     */
    @JvmName("uqiqaejnxsrabjpe")
    public fun routeConfigurationOverride(`value`: ForwardingConfigurationArgs) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.routeConfigurationOverride = mapped
    }

    /**
     * @param value Override the route configuration.
     */
    @JvmName("cdfiyqnrglqwjqkf")
    public fun routeConfigurationOverride(`value`: RedirectConfigurationArgs) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.routeConfigurationOverride = mapped
    }

    internal fun build(): RulesEngineActionArgs = RulesEngineActionArgs(
        requestHeaderActions = requestHeaderActions,
        responseHeaderActions = responseHeaderActions,
        routeConfigurationOverride = routeConfigurationOverride,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy