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

com.pulumi.azure.cdn.kotlin.inputs.FrontdoorRuleActionsArgs.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: 6.21.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.cdn.kotlin.inputs

import com.pulumi.azure.cdn.inputs.FrontdoorRuleActionsArgs.builder
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

/**
 *
 * @property requestHeaderActions A `request_header_action` block as defined below.
 * @property responseHeaderActions A `response_header_action` block as defined below.
 * @property routeConfigurationOverrideAction A `route_configuration_override_action` block as defined below.
 * @property urlRedirectAction A `url_redirect_action` block as defined below. You may **not** have a `url_redirect_action` **and** a `url_rewrite_action` defined in the same `actions` block.
 * @property urlRewriteAction A `url_rewrite_action` block as defined below. You may **not** have a `url_rewrite_action` **and** a `url_redirect_action` defined in the same `actions` block.
 */
public data class FrontdoorRuleActionsArgs(
    public val requestHeaderActions: Output>? =
        null,
    public val responseHeaderActions: Output>? =
        null,
    public val routeConfigurationOverrideAction:
    Output? = null,
    public val urlRedirectAction: Output? = null,
    public val urlRewriteAction: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.cdn.inputs.FrontdoorRuleActionsArgs =
        com.pulumi.azure.cdn.inputs.FrontdoorRuleActionsArgs.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() })
                    })
                }),
            )
            .routeConfigurationOverrideAction(
                routeConfigurationOverrideAction?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .urlRedirectAction(urlRedirectAction?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .urlRewriteAction(
                urlRewriteAction?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

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

    private var responseHeaderActions: Output>? =
        null

    private var routeConfigurationOverrideAction:
        Output? = null

    private var urlRedirectAction: Output? = null

    private var urlRewriteAction: Output? = null

    /**
     * @param value A `request_header_action` block as defined below.
     */
    @JvmName("hypevhhcwmoprbuk")
    public suspend
    fun requestHeaderActions(`value`: Output>) {
        this.requestHeaderActions = value
    }

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

    /**
     * @param values A `request_header_action` block as defined below.
     */
    @JvmName("himnyeirxavvwrpw")
    public suspend
    fun requestHeaderActions(values: List>) {
        this.requestHeaderActions = Output.all(values)
    }

    /**
     * @param value A `response_header_action` block as defined below.
     */
    @JvmName("cdjtlrpopwcbrswh")
    public suspend
    fun responseHeaderActions(`value`: Output>) {
        this.responseHeaderActions = value
    }

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

    /**
     * @param values A `response_header_action` block as defined below.
     */
    @JvmName("vgvrdeawkalsvgqy")
    public suspend
    fun responseHeaderActions(values: List>) {
        this.responseHeaderActions = Output.all(values)
    }

    /**
     * @param value A `route_configuration_override_action` block as defined below.
     */
    @JvmName("qnpxjllgqjmckbxv")
    public suspend
    fun routeConfigurationOverrideAction(`value`: Output) {
        this.routeConfigurationOverrideAction = value
    }

    /**
     * @param value A `url_redirect_action` block as defined below. You may **not** have a `url_redirect_action` **and** a `url_rewrite_action` defined in the same `actions` block.
     */
    @JvmName("sfuejixibgkiadhx")
    public suspend fun urlRedirectAction(`value`: Output) {
        this.urlRedirectAction = value
    }

    /**
     * @param value A `url_rewrite_action` block as defined below. You may **not** have a `url_rewrite_action` **and** a `url_redirect_action` defined in the same `actions` block.
     */
    @JvmName("dlltsmannmoaehhs")
    public suspend fun urlRewriteAction(`value`: Output) {
        this.urlRewriteAction = value
    }

    /**
     * @param value A `request_header_action` block as defined below.
     */
    @JvmName("oxkgxsakvntvvsqn")
    public suspend
    fun requestHeaderActions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.requestHeaderActions = mapped
    }

    /**
     * @param argument A `request_header_action` block as defined below.
     */
    @JvmName("jpevbqsenwceuchv")
    public suspend
    fun requestHeaderActions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            FrontdoorRuleActionsRequestHeaderActionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.requestHeaderActions = mapped
    }

    /**
     * @param argument A `request_header_action` block as defined below.
     */
    @JvmName("hakwovkaxsdtetkn")
    public suspend fun requestHeaderActions(
        vararg
        argument: suspend FrontdoorRuleActionsRequestHeaderActionArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            FrontdoorRuleActionsRequestHeaderActionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.requestHeaderActions = mapped
    }

    /**
     * @param argument A `request_header_action` block as defined below.
     */
    @JvmName("bdeqpmouldkfiora")
    public suspend
    fun requestHeaderActions(argument: suspend FrontdoorRuleActionsRequestHeaderActionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            FrontdoorRuleActionsRequestHeaderActionArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.requestHeaderActions = mapped
    }

    /**
     * @param values A `request_header_action` block as defined below.
     */
    @JvmName("dxvvxdwdgearawtj")
    public suspend fun requestHeaderActions(
        vararg
        values: FrontdoorRuleActionsRequestHeaderActionArgs,
    ) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.requestHeaderActions = mapped
    }

    /**
     * @param value A `response_header_action` block as defined below.
     */
    @JvmName("nvagmoynxtjpidll")
    public suspend
    fun responseHeaderActions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.responseHeaderActions = mapped
    }

    /**
     * @param argument A `response_header_action` block as defined below.
     */
    @JvmName("ckonuiwwfqfwneni")
    public suspend
    fun responseHeaderActions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            FrontdoorRuleActionsResponseHeaderActionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.responseHeaderActions = mapped
    }

    /**
     * @param argument A `response_header_action` block as defined below.
     */
    @JvmName("wryoxfddwphlmoda")
    public suspend fun responseHeaderActions(
        vararg
        argument: suspend FrontdoorRuleActionsResponseHeaderActionArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            FrontdoorRuleActionsResponseHeaderActionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.responseHeaderActions = mapped
    }

    /**
     * @param argument A `response_header_action` block as defined below.
     */
    @JvmName("oadoopftqdiwhkou")
    public suspend
    fun responseHeaderActions(argument: suspend FrontdoorRuleActionsResponseHeaderActionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            FrontdoorRuleActionsResponseHeaderActionArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.responseHeaderActions = mapped
    }

    /**
     * @param values A `response_header_action` block as defined below.
     */
    @JvmName("hahtdauftdwlajxi")
    public suspend fun responseHeaderActions(
        vararg
        values: FrontdoorRuleActionsResponseHeaderActionArgs,
    ) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.responseHeaderActions = mapped
    }

    /**
     * @param value A `route_configuration_override_action` block as defined below.
     */
    @JvmName("joxqnvpubfmoikbx")
    public suspend
    fun routeConfigurationOverrideAction(`value`: FrontdoorRuleActionsRouteConfigurationOverrideActionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.routeConfigurationOverrideAction = mapped
    }

    /**
     * @param argument A `route_configuration_override_action` block as defined below.
     */
    @JvmName("onkptuixjsoclofe")
    public suspend
    fun routeConfigurationOverrideAction(argument: suspend FrontdoorRuleActionsRouteConfigurationOverrideActionArgsBuilder.() -> Unit) {
        val toBeMapped = FrontdoorRuleActionsRouteConfigurationOverrideActionArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.routeConfigurationOverrideAction = mapped
    }

    /**
     * @param value A `url_redirect_action` block as defined below. You may **not** have a `url_redirect_action` **and** a `url_rewrite_action` defined in the same `actions` block.
     */
    @JvmName("rchaeplnekrpiwix")
    public suspend fun urlRedirectAction(`value`: FrontdoorRuleActionsUrlRedirectActionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.urlRedirectAction = mapped
    }

    /**
     * @param argument A `url_redirect_action` block as defined below. You may **not** have a `url_redirect_action` **and** a `url_rewrite_action` defined in the same `actions` block.
     */
    @JvmName("ychivmtiymmjusiw")
    public suspend
    fun urlRedirectAction(argument: suspend FrontdoorRuleActionsUrlRedirectActionArgsBuilder.() -> Unit) {
        val toBeMapped = FrontdoorRuleActionsUrlRedirectActionArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.urlRedirectAction = mapped
    }

    /**
     * @param value A `url_rewrite_action` block as defined below. You may **not** have a `url_rewrite_action` **and** a `url_redirect_action` defined in the same `actions` block.
     */
    @JvmName("yvuqkvfevoeehayc")
    public suspend fun urlRewriteAction(`value`: FrontdoorRuleActionsUrlRewriteActionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.urlRewriteAction = mapped
    }

    /**
     * @param argument A `url_rewrite_action` block as defined below. You may **not** have a `url_rewrite_action` **and** a `url_redirect_action` defined in the same `actions` block.
     */
    @JvmName("byjsgcpyethgjcvx")
    public suspend
    fun urlRewriteAction(argument: suspend FrontdoorRuleActionsUrlRewriteActionArgsBuilder.() -> Unit) {
        val toBeMapped = FrontdoorRuleActionsUrlRewriteActionArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.urlRewriteAction = mapped
    }

    internal fun build(): FrontdoorRuleActionsArgs = FrontdoorRuleActionsArgs(
        requestHeaderActions = requestHeaderActions,
        responseHeaderActions = responseHeaderActions,
        routeConfigurationOverrideAction = routeConfigurationOverrideAction,
        urlRedirectAction = urlRedirectAction,
        urlRewriteAction = urlRewriteAction,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy