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

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: 8.10.0.0
Show newest version
@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("cccffhqisnanqilt")
    public suspend fun requestHeaderToAdds(`value`: Output>) {
        this.requestHeaderToAdds = value
    }

    @JvmName("ytwqrggoglkklrej")
    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("xtvcvqqittltrovg")
    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("umidlahtdxrgqjsk")
    public suspend fun requestHeaderToRemoves(`value`: Output>) {
        this.requestHeaderToRemoves = value
    }

    @JvmName("feidixrocaamdple")
    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("jnysofagmsqmgeof")
    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("ahojtwbfafpnknap")
    public suspend fun responseHeaderToAdds(`value`: Output>) {
        this.responseHeaderToAdds = value
    }

    @JvmName("nlcyughlriknerfi")
    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("sjqqxfotmsqrwtil")
    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("ruatqsinushbyrei")
    public suspend fun responseHeaderToRemoves(`value`: Output>) {
        this.responseHeaderToRemoves = value
    }

    @JvmName("lbmpalwjqrjdxlco")
    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("bamiifdcfwyxhcpx")
    public suspend fun responseHeaderToRemoves(values: List>) {
        this.responseHeaderToRemoves = Output.all(values)
    }

    /**
     * @param value Describes a header to add.
     * Structure is documented below.
     */
    @JvmName("tvsrvuglwrrfdjoo")
    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("duupvxikjhdhhluv")
    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("vksfnomrdpmfytaa")
    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("xydevggxmbvmvrwt")
    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("knvdrdrqmdofybxm")
    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("ocbryusolfihymoi")
    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("rfbmqxjmmsyqqavx")
    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("onigfpkobrceirin")
    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("wqjaalvkmejpsnxk")
    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("evufauoscfuxnicp")
    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("rapbrufsxflxrkrx")
    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("icplnengapmmvtmp")
    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("ueoixjkppwhqwenm")
    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("ryrsjhxhvciwvqjt")
    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("yxegqgaccglysfor")
    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("ocgeiuuaovcxedek")
    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("pqmhdaqsbqkmgata")
    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("snqwcpubineccurs")
    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("vqbqokllffspjmhe")
    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("yoocaydahetrwvrr")
    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 - 2024 Weber Informatics LLC | Privacy Policy