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

com.pulumi.gcp.networkservices.kotlin.inputs.TlsRouteRuleMatchArgs.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.TlsRouteRuleMatchArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property alpns ALPN (Application-Layer Protocol Negotiation) to match against. Examples: "http/1.1", "h2". At least one of sniHost and alpn is required. Up to 5 alpns across all matches can be set.
 * @property sniHosts SNI (server name indicator) to match against. SNI will be matched against all wildcard domains, i.e. www.example.com will be first matched against www.example.com, then *.example.com, then *.com.
 * Partial wildcards are not supported, and values like *w.example.com are invalid. At least one of sniHost and alpn is required. Up to 5 sni hosts across all matches can be set.
 */
public data class TlsRouteRuleMatchArgs(
    public val alpns: Output>? = null,
    public val sniHosts: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.networkservices.inputs.TlsRouteRuleMatchArgs =
        com.pulumi.gcp.networkservices.inputs.TlsRouteRuleMatchArgs.builder()
            .alpns(alpns?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .sniHosts(sniHosts?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}

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

    private var sniHosts: Output>? = null

    /**
     * @param value ALPN (Application-Layer Protocol Negotiation) to match against. Examples: "http/1.1", "h2". At least one of sniHost and alpn is required. Up to 5 alpns across all matches can be set.
     */
    @JvmName("igmslxduhloufgwu")
    public suspend fun alpns(`value`: Output>) {
        this.alpns = value
    }

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

    /**
     * @param values ALPN (Application-Layer Protocol Negotiation) to match against. Examples: "http/1.1", "h2". At least one of sniHost and alpn is required. Up to 5 alpns across all matches can be set.
     */
    @JvmName("kinlcgmckdvrpgot")
    public suspend fun alpns(values: List>) {
        this.alpns = Output.all(values)
    }

    /**
     * @param value SNI (server name indicator) to match against. SNI will be matched against all wildcard domains, i.e. www.example.com will be first matched against www.example.com, then *.example.com, then *.com.
     * Partial wildcards are not supported, and values like *w.example.com are invalid. At least one of sniHost and alpn is required. Up to 5 sni hosts across all matches can be set.
     */
    @JvmName("bvuaqedcbhgrmdop")
    public suspend fun sniHosts(`value`: Output>) {
        this.sniHosts = value
    }

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

    /**
     * @param values SNI (server name indicator) to match against. SNI will be matched against all wildcard domains, i.e. www.example.com will be first matched against www.example.com, then *.example.com, then *.com.
     * Partial wildcards are not supported, and values like *w.example.com are invalid. At least one of sniHost and alpn is required. Up to 5 sni hosts across all matches can be set.
     */
    @JvmName("ccouixmibkuwbvuo")
    public suspend fun sniHosts(values: List>) {
        this.sniHosts = Output.all(values)
    }

    /**
     * @param value ALPN (Application-Layer Protocol Negotiation) to match against. Examples: "http/1.1", "h2". At least one of sniHost and alpn is required. Up to 5 alpns across all matches can be set.
     */
    @JvmName("tmfssxupwthumbfu")
    public suspend fun alpns(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.alpns = mapped
    }

    /**
     * @param values ALPN (Application-Layer Protocol Negotiation) to match against. Examples: "http/1.1", "h2". At least one of sniHost and alpn is required. Up to 5 alpns across all matches can be set.
     */
    @JvmName("avyniuylwvbanumh")
    public suspend fun alpns(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.alpns = mapped
    }

    /**
     * @param value SNI (server name indicator) to match against. SNI will be matched against all wildcard domains, i.e. www.example.com will be first matched against www.example.com, then *.example.com, then *.com.
     * Partial wildcards are not supported, and values like *w.example.com are invalid. At least one of sniHost and alpn is required. Up to 5 sni hosts across all matches can be set.
     */
    @JvmName("luhdswpltubajaql")
    public suspend fun sniHosts(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sniHosts = mapped
    }

    /**
     * @param values SNI (server name indicator) to match against. SNI will be matched against all wildcard domains, i.e. www.example.com will be first matched against www.example.com, then *.example.com, then *.com.
     * Partial wildcards are not supported, and values like *w.example.com are invalid. At least one of sniHost and alpn is required. Up to 5 sni hosts across all matches can be set.
     */
    @JvmName("sqptyemsadqcurou")
    public suspend fun sniHosts(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.sniHosts = mapped
    }

    internal fun build(): TlsRouteRuleMatchArgs = TlsRouteRuleMatchArgs(
        alpns = alpns,
        sniHosts = sniHosts,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy