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

com.pulumi.gcp.networksecurity.kotlin.inputs.AuthzPolicyHttpRuleToOperationHeaderSetArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.gcp.networksecurity.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.networksecurity.inputs.AuthzPolicyHttpRuleToOperationHeaderSetArgs.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 headers A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.
 * Structure is documented below.
 */
public data class AuthzPolicyHttpRuleToOperationHeaderSetArgs(
    public val headers: Output>? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.networksecurity.inputs.AuthzPolicyHttpRuleToOperationHeaderSetArgs =
        com.pulumi.gcp.networksecurity.inputs.AuthzPolicyHttpRuleToOperationHeaderSetArgs.builder()
            .headers(
                headers?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            ).build()
}

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

    /**
     * @param value A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.
     * Structure is documented below.
     */
    @JvmName("rerlpkxkvtjptuqb")
    public suspend fun headers(`value`: Output>) {
        this.headers = value
    }

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

    /**
     * @param values A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.
     * Structure is documented below.
     */
    @JvmName("dqlsnwfojqbrlenl")
    public suspend fun headers(values: List>) {
        this.headers = Output.all(values)
    }

    /**
     * @param value A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.
     * Structure is documented below.
     */
    @JvmName("nxtkwdrdpdcmedum")
    public suspend fun headers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.headers = mapped
    }

    /**
     * @param argument A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.
     * Structure is documented below.
     */
    @JvmName("kkvpkbxfbmtwebww")
    public suspend fun headers(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            AuthzPolicyHttpRuleToOperationHeaderSetHeaderArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.headers = mapped
    }

    /**
     * @param argument A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.
     * Structure is documented below.
     */
    @JvmName("ouommsdfbytiwmor")
    public suspend fun headers(vararg argument: suspend AuthzPolicyHttpRuleToOperationHeaderSetHeaderArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            AuthzPolicyHttpRuleToOperationHeaderSetHeaderArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.headers = mapped
    }

    /**
     * @param argument A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.
     * Structure is documented below.
     */
    @JvmName("khndyduwdkgdjyma")
    public suspend fun headers(argument: suspend AuthzPolicyHttpRuleToOperationHeaderSetHeaderArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            AuthzPolicyHttpRuleToOperationHeaderSetHeaderArgsBuilder().applySuspend
                { argument() }.build(),
        )
        val mapped = of(toBeMapped)
        this.headers = mapped
    }

    /**
     * @param values A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.
     * Structure is documented below.
     */
    @JvmName("ugcqoasyqcssasae")
    public suspend fun headers(vararg values: AuthzPolicyHttpRuleToOperationHeaderSetHeaderArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.headers = mapped
    }

    internal fun build(): AuthzPolicyHttpRuleToOperationHeaderSetArgs =
        AuthzPolicyHttpRuleToOperationHeaderSetArgs(
            headers = headers,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy