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

com.pulumi.azure.network.kotlin.inputs.ApplicationGatewaySslPolicyArgs.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: 6.15.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.network.kotlin.inputs

import com.pulumi.azure.network.inputs.ApplicationGatewaySslPolicyArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
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 cipherSuites
 * @property disabledProtocols A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are `TLSv1_0`, `TLSv1_1`, `TLSv1_2` and `TLSv1_3`.
 * > **NOTE:** `disabled_protocols` cannot be set when `policy_name` or `policy_type` are set.
 * @property minProtocolVersion
 * @property policyName
 * @property policyType The Type of the Policy. Possible values are `Predefined`, `Custom` and `CustomV2`.
 * > **NOTE:** `policy_type` is Required when `policy_name` is set - cannot be set if `disabled_protocols` is set.
 */
public data class ApplicationGatewaySslPolicyArgs(
    public val cipherSuites: Output>? = null,
    public val disabledProtocols: Output>? = null,
    public val minProtocolVersion: Output? = null,
    public val policyName: Output? = null,
    public val policyType: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.network.inputs.ApplicationGatewaySslPolicyArgs =
        com.pulumi.azure.network.inputs.ApplicationGatewaySslPolicyArgs.builder()
            .cipherSuites(cipherSuites?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .disabledProtocols(disabledProtocols?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .minProtocolVersion(minProtocolVersion?.applyValue({ args0 -> args0 }))
            .policyName(policyName?.applyValue({ args0 -> args0 }))
            .policyType(policyType?.applyValue({ args0 -> args0 })).build()
}

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

    private var disabledProtocols: Output>? = null

    private var minProtocolVersion: Output? = null

    private var policyName: Output? = null

    private var policyType: Output? = null

    /**
     * @param value
     */
    @JvmName("slmbtumiaxetedau")
    public suspend fun cipherSuites(`value`: Output>) {
        this.cipherSuites = value
    }

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

    /**
     * @param values
     */
    @JvmName("udbfclrkjnboemye")
    public suspend fun cipherSuites(values: List>) {
        this.cipherSuites = Output.all(values)
    }

    /**
     * @param value A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are `TLSv1_0`, `TLSv1_1`, `TLSv1_2` and `TLSv1_3`.
     * > **NOTE:** `disabled_protocols` cannot be set when `policy_name` or `policy_type` are set.
     */
    @JvmName("npjwrbehsgxishds")
    public suspend fun disabledProtocols(`value`: Output>) {
        this.disabledProtocols = value
    }

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

    /**
     * @param values A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are `TLSv1_0`, `TLSv1_1`, `TLSv1_2` and `TLSv1_3`.
     * > **NOTE:** `disabled_protocols` cannot be set when `policy_name` or `policy_type` are set.
     */
    @JvmName("ktbvdmhvfsewftjs")
    public suspend fun disabledProtocols(values: List>) {
        this.disabledProtocols = Output.all(values)
    }

    /**
     * @param value
     */
    @JvmName("igxgogiyhavpqrvy")
    public suspend fun minProtocolVersion(`value`: Output) {
        this.minProtocolVersion = value
    }

    /**
     * @param value
     */
    @JvmName("mpmjatyuxtdrjwby")
    public suspend fun policyName(`value`: Output) {
        this.policyName = value
    }

    /**
     * @param value The Type of the Policy. Possible values are `Predefined`, `Custom` and `CustomV2`.
     * > **NOTE:** `policy_type` is Required when `policy_name` is set - cannot be set if `disabled_protocols` is set.
     */
    @JvmName("ykykpbeopdqferri")
    public suspend fun policyType(`value`: Output) {
        this.policyType = value
    }

    /**
     * @param value
     */
    @JvmName("tyhjstkmkgvfkbmq")
    public suspend fun cipherSuites(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cipherSuites = mapped
    }

    /**
     * @param values
     */
    @JvmName("kvqotgiwcxtqrrvh")
    public suspend fun cipherSuites(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.cipherSuites = mapped
    }

    /**
     * @param value A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are `TLSv1_0`, `TLSv1_1`, `TLSv1_2` and `TLSv1_3`.
     * > **NOTE:** `disabled_protocols` cannot be set when `policy_name` or `policy_type` are set.
     */
    @JvmName("qphgenmtpuxijwvo")
    public suspend fun disabledProtocols(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.disabledProtocols = mapped
    }

    /**
     * @param values A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are `TLSv1_0`, `TLSv1_1`, `TLSv1_2` and `TLSv1_3`.
     * > **NOTE:** `disabled_protocols` cannot be set when `policy_name` or `policy_type` are set.
     */
    @JvmName("jlxihcgkebxpmsyo")
    public suspend fun disabledProtocols(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.disabledProtocols = mapped
    }

    /**
     * @param value
     */
    @JvmName("wurddmmepmvupnfx")
    public suspend fun minProtocolVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.minProtocolVersion = mapped
    }

    /**
     * @param value
     */
    @JvmName("bjymwaphgpdsvggb")
    public suspend fun policyName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.policyName = mapped
    }

    /**
     * @param value The Type of the Policy. Possible values are `Predefined`, `Custom` and `CustomV2`.
     * > **NOTE:** `policy_type` is Required when `policy_name` is set - cannot be set if `disabled_protocols` is set.
     */
    @JvmName("xhsutrmpthprtkgg")
    public suspend fun policyType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.policyType = mapped
    }

    internal fun build(): ApplicationGatewaySslPolicyArgs = ApplicationGatewaySslPolicyArgs(
        cipherSuites = cipherSuites,
        disabledProtocols = disabledProtocols,
        minProtocolVersion = minProtocolVersion,
        policyName = policyName,
        policyType = policyType,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy