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

com.pulumi.gcp.networkservices.kotlin.inputs.EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.gcp.networkservices.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.networkservices.inputs.EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionArgs.builder
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 requestHeaderToAdds Describes a header to add.
 * Structure is documented below.
 * @property requestHeaderToRemoves A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
 * Structure is documented below.
 * @property responseHeaderToAdds Headers to add to the response prior to sending it back to the client.
 * Response headers are only sent to the client, and do not have an effect on the cache serving the response.
 * Structure is documented below.
 * @property responseHeaderToRemoves A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
 * Structure is documented below.
 */
public data class EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionArgs(
    public val requestHeaderToAdds: Output>? =
        null,
    public val requestHeaderToRemoves: Output>? =
        null,
    public val responseHeaderToAdds: Output>? =
        null,
    public val responseHeaderToRemoves: Output>? =
        null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.networkservices.inputs.EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionArgs =
        com.pulumi.gcp.networkservices.inputs.EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionArgs.builder()
            .requestHeaderToAdds(
                requestHeaderToAdds?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .requestHeaderToRemoves(
                requestHeaderToRemoves?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .responseHeaderToAdds(
                responseHeaderToAdds?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .responseHeaderToRemoves(
                responseHeaderToRemoves?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            ).build()
}

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

    private var requestHeaderToRemoves:
        Output>? =
        null

    private var responseHeaderToAdds:
        Output>? =
        null

    private var responseHeaderToRemoves:
        Output>? =
        null

    /**
     * @param value Describes a header to add.
     * Structure is documented below.
     */
    @JvmName("kgdcuukonrulrxqv")
    public suspend fun requestHeaderToAdds(`value`: Output>) {
        this.requestHeaderToAdds = value
    }

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

    /**
     * @param values Describes a header to add.
     * Structure is documented below.
     */
    @JvmName("jthuxktebfhjmtyv")
    public suspend fun requestHeaderToAdds(values: List>) {
        this.requestHeaderToAdds = Output.all(values)
    }

    /**
     * @param value A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
     * Structure is documented below.
     */
    @JvmName("jtmraqpxybhsqwsy")
    public suspend fun requestHeaderToRemoves(`value`: Output>) {
        this.requestHeaderToRemoves = value
    }

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

    /**
     * @param values A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
     * Structure is documented below.
     */
    @JvmName("phiopmqbwqtwvsyd")
    public suspend fun requestHeaderToRemoves(values: List>) {
        this.requestHeaderToRemoves = Output.all(values)
    }

    /**
     * @param value Headers to add to the response prior to sending it back to the client.
     * Response headers are only sent to the client, and do not have an effect on the cache serving the response.
     * Structure is documented below.
     */
    @JvmName("oskipttwallagclj")
    public suspend fun responseHeaderToAdds(`value`: Output>) {
        this.responseHeaderToAdds = value
    }

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

    /**
     * @param values Headers to add to the response prior to sending it back to the client.
     * Response headers are only sent to the client, and do not have an effect on the cache serving the response.
     * Structure is documented below.
     */
    @JvmName("soseuiuuddenuott")
    public suspend fun responseHeaderToAdds(values: List>) {
        this.responseHeaderToAdds = Output.all(values)
    }

    /**
     * @param value A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
     * Structure is documented below.
     */
    @JvmName("acbdjvqlxmyfgocx")
    public suspend fun responseHeaderToRemoves(`value`: Output>) {
        this.responseHeaderToRemoves = value
    }

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

    /**
     * @param values A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
     * Structure is documented below.
     */
    @JvmName("qqrtvpitjvhslaba")
    public suspend fun responseHeaderToRemoves(values: List>) {
        this.responseHeaderToRemoves = Output.all(values)
    }

    /**
     * @param value Describes a header to add.
     * Structure is documented below.
     */
    @JvmName("aepcgcqtpqflqvtd")
    public suspend fun requestHeaderToAdds(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.requestHeaderToAdds = mapped
    }

    /**
     * @param argument Describes a header to add.
     * Structure is documented below.
     */
    @JvmName("tjxxpdsxanaouxox")
    public suspend fun requestHeaderToAdds(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAddArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.requestHeaderToAdds = mapped
    }

    /**
     * @param argument Describes a header to add.
     * Structure is documented below.
     */
    @JvmName("ptrplbonmgmklxjl")
    public suspend fun requestHeaderToAdds(vararg argument: suspend EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAddArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAddArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.requestHeaderToAdds = mapped
    }

    /**
     * @param argument Describes a header to add.
     * Structure is documented below.
     */
    @JvmName("cmscfpiiwicjdvtr")
    public suspend fun requestHeaderToAdds(argument: suspend EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAddArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAddArgsBuilder().applySuspend
                    { argument() }.build(),
            )
        val mapped = of(toBeMapped)
        this.requestHeaderToAdds = mapped
    }

    /**
     * @param values Describes a header to add.
     * Structure is documented below.
     */
    @JvmName("lgynwdehjoauriui")
    public suspend fun requestHeaderToAdds(vararg values: EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAddArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.requestHeaderToAdds = mapped
    }

    /**
     * @param value A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
     * Structure is documented below.
     */
    @JvmName("qxaheirbfkfvfwip")
    public suspend fun requestHeaderToRemoves(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.requestHeaderToRemoves = mapped
    }

    /**
     * @param argument A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
     * Structure is documented below.
     */
    @JvmName("oimbjsechadeybrn")
    public suspend fun requestHeaderToRemoves(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemoveArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.requestHeaderToRemoves = mapped
    }

    /**
     * @param argument A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
     * Structure is documented below.
     */
    @JvmName("sswoenpeuptucffv")
    public suspend fun requestHeaderToRemoves(vararg argument: suspend EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemoveArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemoveArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.requestHeaderToRemoves = mapped
    }

    /**
     * @param argument A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
     * Structure is documented below.
     */
    @JvmName("snlxetdouxraiftd")
    public suspend fun requestHeaderToRemoves(argument: suspend EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemoveArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemoveArgsBuilder().applySuspend
                    { argument() }.build(),
            )
        val mapped = of(toBeMapped)
        this.requestHeaderToRemoves = mapped
    }

    /**
     * @param values A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
     * Structure is documented below.
     */
    @JvmName("uhbhjdtblqemkbnk")
    public suspend fun requestHeaderToRemoves(vararg values: EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemoveArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.requestHeaderToRemoves = mapped
    }

    /**
     * @param value Headers to add to the response prior to sending it back to the client.
     * Response headers are only sent to the client, and do not have an effect on the cache serving the response.
     * Structure is documented below.
     */
    @JvmName("uckpwpcprjaaukot")
    public suspend fun responseHeaderToAdds(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.responseHeaderToAdds = mapped
    }

    /**
     * @param argument Headers to add to the response prior to sending it back to the client.
     * Response headers are only sent to the client, and do not have an effect on the cache serving the response.
     * Structure is documented below.
     */
    @JvmName("tneflgkugtytonir")
    public suspend fun responseHeaderToAdds(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAddArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.responseHeaderToAdds = mapped
    }

    /**
     * @param argument Headers to add to the response prior to sending it back to the client.
     * Response headers are only sent to the client, and do not have an effect on the cache serving the response.
     * Structure is documented below.
     */
    @JvmName("wrpqeajhwwxbkqvk")
    public suspend fun responseHeaderToAdds(vararg argument: suspend EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAddArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAddArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.responseHeaderToAdds = mapped
    }

    /**
     * @param argument Headers to add to the response prior to sending it back to the client.
     * Response headers are only sent to the client, and do not have an effect on the cache serving the response.
     * Structure is documented below.
     */
    @JvmName("repchtvudthalrsx")
    public suspend fun responseHeaderToAdds(argument: suspend EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAddArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAddArgsBuilder().applySuspend
                    { argument() }.build(),
            )
        val mapped = of(toBeMapped)
        this.responseHeaderToAdds = mapped
    }

    /**
     * @param values Headers to add to the response prior to sending it back to the client.
     * Response headers are only sent to the client, and do not have an effect on the cache serving the response.
     * Structure is documented below.
     */
    @JvmName("ajvffiakktpjdpvg")
    public suspend fun responseHeaderToAdds(vararg values: EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAddArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.responseHeaderToAdds = mapped
    }

    /**
     * @param value A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
     * Structure is documented below.
     */
    @JvmName("xtxsvlrqloqnsfih")
    public suspend fun responseHeaderToRemoves(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.responseHeaderToRemoves = mapped
    }

    /**
     * @param argument A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
     * Structure is documented below.
     */
    @JvmName("vjmqwpfydkvqxcxv")
    public suspend fun responseHeaderToRemoves(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemoveArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.responseHeaderToRemoves = mapped
    }

    /**
     * @param argument A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
     * Structure is documented below.
     */
    @JvmName("avpaknlkbdcqyirg")
    public suspend fun responseHeaderToRemoves(vararg argument: suspend EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemoveArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemoveArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.responseHeaderToRemoves = mapped
    }

    /**
     * @param argument A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
     * Structure is documented below.
     */
    @JvmName("rhohblglidgfmijk")
    public suspend fun responseHeaderToRemoves(argument: suspend EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemoveArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemoveArgsBuilder().applySuspend
                    { argument() }.build(),
            )
        val mapped = of(toBeMapped)
        this.responseHeaderToRemoves = mapped
    }

    /**
     * @param values A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
     * Structure is documented below.
     */
    @JvmName("wwqcerflchunccwv")
    public suspend fun responseHeaderToRemoves(vararg values: EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemoveArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.responseHeaderToRemoves = mapped
    }

    internal fun build(): EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionArgs =
        EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionArgs(
            requestHeaderToAdds = requestHeaderToAdds,
            requestHeaderToRemoves = requestHeaderToRemoves,
            responseHeaderToAdds = responseHeaderToAdds,
            responseHeaderToRemoves = responseHeaderToRemoves,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy