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

com.pulumi.awsnative.networkfirewall.kotlin.TlsInspectionConfigurationArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.networkfirewall.kotlin

import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
import com.pulumi.awsnative.networkfirewall.TlsInspectionConfigurationArgs.builder
import com.pulumi.awsnative.networkfirewall.kotlin.inputs.TlsInspectionConfigurationTlsInspectionConfigurationArgs
import com.pulumi.awsnative.networkfirewall.kotlin.inputs.TlsInspectionConfigurationTlsInspectionConfigurationArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
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

/**
 * Resource type definition for AWS::NetworkFirewall::TLSInspectionConfiguration
 * @property description A description of the TLS inspection configuration.
 * @property tags The key:value pairs to associate with the resource.
 * @property tlsInspectionConfiguration The object that defines a TLS inspection configuration. AWS Network Firewall uses TLS inspection configurations to decrypt your firewall's inbound and outbound SSL/TLS traffic. After decryption, AWS Network Firewall inspects the traffic according to your firewall policy's stateful rules, and then re-encrypts it before sending it to its destination. You can enable inspection of your firewall's inbound traffic, outbound traffic, or both. To use TLS inspection with your firewall, you must first import or provision certificates using AWS Certificate Manager , create a TLS inspection configuration, add that configuration to a new firewall policy, and then associate that policy with your firewall. For more information about using TLS inspection configurations, see [Inspecting SSL/TLS traffic with TLS inspection configurations](https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection.html) in the *AWS Network Firewall Developer Guide* .
 * @property tlsInspectionConfigurationName The descriptive name of the TLS inspection configuration. You can't change the name of a TLS inspection configuration after you create it.
 */
public data class TlsInspectionConfigurationArgs(
    public val description: Output? = null,
    public val tags: Output>? = null,
    public val tlsInspectionConfiguration: Output? = null,
    public val tlsInspectionConfigurationName: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.networkfirewall.TlsInspectionConfigurationArgs =
        com.pulumi.awsnative.networkfirewall.TlsInspectionConfigurationArgs.builder()
            .description(description?.applyValue({ args0 -> args0 }))
            .tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
            .tlsInspectionConfiguration(
                tlsInspectionConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .tlsInspectionConfigurationName(
                tlsInspectionConfigurationName?.applyValue({ args0 ->
                    args0
                }),
            ).build()
}

/**
 * Builder for [TlsInspectionConfigurationArgs].
 */
@PulumiTagMarker
public class TlsInspectionConfigurationArgsBuilder internal constructor() {
    private var description: Output? = null

    private var tags: Output>? = null

    private var tlsInspectionConfiguration:
        Output? = null

    private var tlsInspectionConfigurationName: Output? = null

    /**
     * @param value A description of the TLS inspection configuration.
     */
    @JvmName("amrewyskmkgskfxc")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value The key:value pairs to associate with the resource.
     */
    @JvmName("bhvwbhfgdljmpqvh")
    public suspend fun tags(`value`: Output>) {
        this.tags = value
    }

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

    /**
     * @param values The key:value pairs to associate with the resource.
     */
    @JvmName("girycfepkubrujpr")
    public suspend fun tags(values: List>) {
        this.tags = Output.all(values)
    }

    /**
     * @param value The object that defines a TLS inspection configuration. AWS Network Firewall uses TLS inspection configurations to decrypt your firewall's inbound and outbound SSL/TLS traffic. After decryption, AWS Network Firewall inspects the traffic according to your firewall policy's stateful rules, and then re-encrypts it before sending it to its destination. You can enable inspection of your firewall's inbound traffic, outbound traffic, or both. To use TLS inspection with your firewall, you must first import or provision certificates using AWS Certificate Manager , create a TLS inspection configuration, add that configuration to a new firewall policy, and then associate that policy with your firewall. For more information about using TLS inspection configurations, see [Inspecting SSL/TLS traffic with TLS inspection configurations](https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection.html) in the *AWS Network Firewall Developer Guide* .
     */
    @JvmName("sbmqxedbxldnsnul")
    public suspend fun tlsInspectionConfiguration(`value`: Output) {
        this.tlsInspectionConfiguration = value
    }

    /**
     * @param value The descriptive name of the TLS inspection configuration. You can't change the name of a TLS inspection configuration after you create it.
     */
    @JvmName("hafwhecqwxfwomps")
    public suspend fun tlsInspectionConfigurationName(`value`: Output) {
        this.tlsInspectionConfigurationName = value
    }

    /**
     * @param value A description of the TLS inspection configuration.
     */
    @JvmName("gwckiwafowrrimmw")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value The key:value pairs to associate with the resource.
     */
    @JvmName("xukdrljawuyaqwnb")
    public suspend fun tags(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param argument The key:value pairs to associate with the resource.
     */
    @JvmName("mohgflinptrqncqc")
    public suspend fun tags(argument: List Unit>) {
        val toBeMapped = argument.toList().map { TagArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param argument The key:value pairs to associate with the resource.
     */
    @JvmName("fonjwhbpaetukduk")
    public suspend fun tags(vararg argument: suspend TagArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map { TagArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param argument The key:value pairs to associate with the resource.
     */
    @JvmName("hmgcjogikakklpls")
    public suspend fun tags(argument: suspend TagArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(TagArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param values The key:value pairs to associate with the resource.
     */
    @JvmName("geflnuxgxaraoybv")
    public suspend fun tags(vararg values: TagArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param value The object that defines a TLS inspection configuration. AWS Network Firewall uses TLS inspection configurations to decrypt your firewall's inbound and outbound SSL/TLS traffic. After decryption, AWS Network Firewall inspects the traffic according to your firewall policy's stateful rules, and then re-encrypts it before sending it to its destination. You can enable inspection of your firewall's inbound traffic, outbound traffic, or both. To use TLS inspection with your firewall, you must first import or provision certificates using AWS Certificate Manager , create a TLS inspection configuration, add that configuration to a new firewall policy, and then associate that policy with your firewall. For more information about using TLS inspection configurations, see [Inspecting SSL/TLS traffic with TLS inspection configurations](https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection.html) in the *AWS Network Firewall Developer Guide* .
     */
    @JvmName("omvtecfmflaqhxas")
    public suspend fun tlsInspectionConfiguration(`value`: TlsInspectionConfigurationTlsInspectionConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tlsInspectionConfiguration = mapped
    }

    /**
     * @param argument The object that defines a TLS inspection configuration. AWS Network Firewall uses TLS inspection configurations to decrypt your firewall's inbound and outbound SSL/TLS traffic. After decryption, AWS Network Firewall inspects the traffic according to your firewall policy's stateful rules, and then re-encrypts it before sending it to its destination. You can enable inspection of your firewall's inbound traffic, outbound traffic, or both. To use TLS inspection with your firewall, you must first import or provision certificates using AWS Certificate Manager , create a TLS inspection configuration, add that configuration to a new firewall policy, and then associate that policy with your firewall. For more information about using TLS inspection configurations, see [Inspecting SSL/TLS traffic with TLS inspection configurations](https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection.html) in the *AWS Network Firewall Developer Guide* .
     */
    @JvmName("dqwxhchcojrmegpt")
    public suspend fun tlsInspectionConfiguration(argument: suspend TlsInspectionConfigurationTlsInspectionConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = TlsInspectionConfigurationTlsInspectionConfigurationArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.tlsInspectionConfiguration = mapped
    }

    /**
     * @param value The descriptive name of the TLS inspection configuration. You can't change the name of a TLS inspection configuration after you create it.
     */
    @JvmName("xfcdvmckhkbsmoko")
    public suspend fun tlsInspectionConfigurationName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tlsInspectionConfigurationName = mapped
    }

    internal fun build(): TlsInspectionConfigurationArgs = TlsInspectionConfigurationArgs(
        description = description,
        tags = tags,
        tlsInspectionConfiguration = tlsInspectionConfiguration,
        tlsInspectionConfigurationName = tlsInspectionConfigurationName,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy