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

com.pulumi.gcp.compute.kotlin.inputs.URLMapHeaderActionArgs.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.compute.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.compute.inputs.URLMapHeaderActionArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property requestHeadersToAdds Headers to add to a matching request prior to forwarding the request to the backendService.
 * Structure is documented below.
 * @property requestHeadersToRemoves A list of header names for headers that need to be removed from the request prior to
 * forwarding the request to the backendService.
 * @property responseHeadersToAdds Headers to add the response prior to sending the response back to the client.
 * Structure is documented below.
 * @property responseHeadersToRemoves A list of header names for headers that need to be removed from the response prior to sending the
 * response back to the client.
 */
public data class URLMapHeaderActionArgs(
    public val requestHeadersToAdds: Output>? = null,
    public val requestHeadersToRemoves: Output>? = null,
    public val responseHeadersToAdds: Output>? =
        null,
    public val responseHeadersToRemoves: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.compute.inputs.URLMapHeaderActionArgs =
        com.pulumi.gcp.compute.inputs.URLMapHeaderActionArgs.builder()
            .requestHeadersToAdds(
                requestHeadersToAdds?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .requestHeadersToRemoves(
                requestHeadersToRemoves?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            )
            .responseHeadersToAdds(
                responseHeadersToAdds?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .responseHeadersToRemoves(
                responseHeadersToRemoves?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            ).build()
}

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

    private var requestHeadersToRemoves: Output>? = null

    private var responseHeadersToAdds: Output>? =
        null

    private var responseHeadersToRemoves: Output>? = null

    /**
     * @param value Headers to add to a matching request prior to forwarding the request to the backendService.
     * Structure is documented below.
     */
    @JvmName("pcacyeobwoxiigow")
    public suspend fun requestHeadersToAdds(`value`: Output>) {
        this.requestHeadersToAdds = value
    }

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

    /**
     * @param values Headers to add to a matching request prior to forwarding the request to the backendService.
     * Structure is documented below.
     */
    @JvmName("lywdxwhvfwjnerhx")
    public suspend fun requestHeadersToAdds(values: List>) {
        this.requestHeadersToAdds = 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 backendService.
     */
    @JvmName("mobnugqrpijloomw")
    public suspend fun requestHeadersToRemoves(`value`: Output>) {
        this.requestHeadersToRemoves = value
    }

    @JvmName("vkbawmqnbodtljwi")
    public suspend fun requestHeadersToRemoves(vararg values: Output) {
        this.requestHeadersToRemoves = 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 backendService.
     */
    @JvmName("drwrlepqwcjaqjvq")
    public suspend fun requestHeadersToRemoves(values: List>) {
        this.requestHeadersToRemoves = Output.all(values)
    }

    /**
     * @param value Headers to add the response prior to sending the response back to the client.
     * Structure is documented below.
     */
    @JvmName("ddjssvvxfdpexojm")
    public suspend fun responseHeadersToAdds(`value`: Output>) {
        this.responseHeadersToAdds = value
    }

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

    /**
     * @param values Headers to add the response prior to sending the response back to the client.
     * Structure is documented below.
     */
    @JvmName("gcqypbylvrkedrfp")
    public suspend fun responseHeadersToAdds(values: List>) {
        this.responseHeadersToAdds = Output.all(values)
    }

    /**
     * @param value A list of header names for headers that need to be removed from the response prior to sending the
     * response back to the client.
     */
    @JvmName("xqarbocbmmpgrsvc")
    public suspend fun responseHeadersToRemoves(`value`: Output>) {
        this.responseHeadersToRemoves = value
    }

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

    /**
     * @param values A list of header names for headers that need to be removed from the response prior to sending the
     * response back to the client.
     */
    @JvmName("nbrognniklpiwsrh")
    public suspend fun responseHeadersToRemoves(values: List>) {
        this.responseHeadersToRemoves = Output.all(values)
    }

    /**
     * @param value Headers to add to a matching request prior to forwarding the request to the backendService.
     * Structure is documented below.
     */
    @JvmName("earorgwabrvumqsa")
    public suspend fun requestHeadersToAdds(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.requestHeadersToAdds = mapped
    }

    /**
     * @param argument Headers to add to a matching request prior to forwarding the request to the backendService.
     * Structure is documented below.
     */
    @JvmName("pqoqnmqxlnbmvyva")
    public suspend fun requestHeadersToAdds(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            URLMapHeaderActionRequestHeadersToAddArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.requestHeadersToAdds = mapped
    }

    /**
     * @param argument Headers to add to a matching request prior to forwarding the request to the backendService.
     * Structure is documented below.
     */
    @JvmName("bohjmjvugufkcynm")
    public suspend fun requestHeadersToAdds(vararg argument: suspend URLMapHeaderActionRequestHeadersToAddArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            URLMapHeaderActionRequestHeadersToAddArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.requestHeadersToAdds = mapped
    }

    /**
     * @param argument Headers to add to a matching request prior to forwarding the request to the backendService.
     * Structure is documented below.
     */
    @JvmName("lxggcsioayykmydx")
    public suspend fun requestHeadersToAdds(argument: suspend URLMapHeaderActionRequestHeadersToAddArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            URLMapHeaderActionRequestHeadersToAddArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.requestHeadersToAdds = mapped
    }

    /**
     * @param values Headers to add to a matching request prior to forwarding the request to the backendService.
     * Structure is documented below.
     */
    @JvmName("lgciqxqgbwjlkkna")
    public suspend fun requestHeadersToAdds(vararg values: URLMapHeaderActionRequestHeadersToAddArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.requestHeadersToAdds = 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 backendService.
     */
    @JvmName("uegrlnqvmlitgymo")
    public suspend fun requestHeadersToRemoves(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.requestHeadersToRemoves = 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 backendService.
     */
    @JvmName("xxtosgnygckfyjke")
    public suspend fun requestHeadersToRemoves(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.requestHeadersToRemoves = mapped
    }

    /**
     * @param value Headers to add the response prior to sending the response back to the client.
     * Structure is documented below.
     */
    @JvmName("djmjlweqmsgefner")
    public suspend fun responseHeadersToAdds(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.responseHeadersToAdds = mapped
    }

    /**
     * @param argument Headers to add the response prior to sending the response back to the client.
     * Structure is documented below.
     */
    @JvmName("cjtqwpggrdbdadcf")
    public suspend fun responseHeadersToAdds(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            URLMapHeaderActionResponseHeadersToAddArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.responseHeadersToAdds = mapped
    }

    /**
     * @param argument Headers to add the response prior to sending the response back to the client.
     * Structure is documented below.
     */
    @JvmName("ssuereqsvldnaoda")
    public suspend fun responseHeadersToAdds(vararg argument: suspend URLMapHeaderActionResponseHeadersToAddArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            URLMapHeaderActionResponseHeadersToAddArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.responseHeadersToAdds = mapped
    }

    /**
     * @param argument Headers to add the response prior to sending the response back to the client.
     * Structure is documented below.
     */
    @JvmName("omikmxgfldchafvq")
    public suspend fun responseHeadersToAdds(argument: suspend URLMapHeaderActionResponseHeadersToAddArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            URLMapHeaderActionResponseHeadersToAddArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.responseHeadersToAdds = mapped
    }

    /**
     * @param values Headers to add the response prior to sending the response back to the client.
     * Structure is documented below.
     */
    @JvmName("suxmrrlottrmsnof")
    public suspend fun responseHeadersToAdds(vararg values: URLMapHeaderActionResponseHeadersToAddArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.responseHeadersToAdds = mapped
    }

    /**
     * @param value A list of header names for headers that need to be removed from the response prior to sending the
     * response back to the client.
     */
    @JvmName("itpovofykkrblwrt")
    public suspend fun responseHeadersToRemoves(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.responseHeadersToRemoves = mapped
    }

    /**
     * @param values A list of header names for headers that need to be removed from the response prior to sending the
     * response back to the client.
     */
    @JvmName("wwlrxuduvcwruxmx")
    public suspend fun responseHeadersToRemoves(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.responseHeadersToRemoves = mapped
    }

    internal fun build(): URLMapHeaderActionArgs = URLMapHeaderActionArgs(
        requestHeadersToAdds = requestHeadersToAdds,
        requestHeadersToRemoves = requestHeadersToRemoves,
        responseHeadersToAdds = responseHeadersToAdds,
        responseHeadersToRemoves = responseHeadersToRemoves,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy