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

com.pulumi.cloudflare.kotlin.inputs.ZeroTrustGatewayPolicyRuleSettingsArgs.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.

The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.cloudflare.kotlin.inputs

import com.pulumi.cloudflare.inputs.ZeroTrustGatewayPolicyRuleSettingsArgs.builder
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.Boolean
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 *
 * @property addHeaders Add custom headers to allowed requests in the form of key-value pairs.
 * @property allowChildBypass Allow parent MSP accounts to enable bypass their children's rules.
 * @property auditSsh Settings for auditing SSH usage.
 * @property bisoAdminControls Configure how browser isolation behaves.
 * @property blockPageEnabled Indicator of block page enablement.
 * @property blockPageReason The displayed reason for a user being blocked.
 * @property bypassParentRule Allow child MSP accounts to bypass their parent's rule.
 * @property checkSession Configure how session check behaves.
 * @property dnsResolvers Add your own custom resolvers to route queries that match the resolver policy. Cannot be used when resolve*dns*through*cloudflare is set. DNS queries will route to the address closest to their origin.
 * @property egress Configure how Proxy traffic egresses. Can be set for rules with Egress action and Egress filter. Can be omitted to indicate local egress via Warp IPs.
 * @property ignoreCnameCategoryMatches Set to true, to ignore the category matches at CNAME domains in a response.
 * @property insecureDisableDnssecValidation Disable DNSSEC validation (must be Allow rule).
 * @property ipCategories Turns on IP category based filter on dns if the rule contains dns category checks.
 * @property l4override Settings to forward layer 4 traffic.
 * @property notificationSettings Notification settings on a block rule.
 * @property overrideHost The host to override matching DNS queries with.
 * @property overrideIps The IPs to override matching DNS queries with.
 * @property payloadLog Configure DLP Payload Logging settings for this rule.
 * @property resolveDnsThroughCloudflare Enable sending queries that match the resolver policy to Cloudflare's default 1.1.1.1 DNS resolver. Cannot be set when `dns_resolvers` are specified.
 * @property untrustedCert Configure untrusted certificate settings for this rule.
 */
public data class ZeroTrustGatewayPolicyRuleSettingsArgs(
    public val addHeaders: Output>? = null,
    public val allowChildBypass: Output? = null,
    public val auditSsh: Output? = null,
    public val bisoAdminControls: Output? =
        null,
    public val blockPageEnabled: Output? = null,
    public val blockPageReason: Output? = null,
    public val bypassParentRule: Output? = null,
    public val checkSession: Output? = null,
    public val dnsResolvers: Output? = null,
    public val egress: Output? = null,
    public val ignoreCnameCategoryMatches: Output? = null,
    public val insecureDisableDnssecValidation: Output? = null,
    public val ipCategories: Output? = null,
    public val l4override: Output? = null,
    public val notificationSettings: Output? = null,
    public val overrideHost: Output? = null,
    public val overrideIps: Output>? = null,
    public val payloadLog: Output? = null,
    public val resolveDnsThroughCloudflare: Output? = null,
    public val untrustedCert: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.cloudflare.inputs.ZeroTrustGatewayPolicyRuleSettingsArgs =
        com.pulumi.cloudflare.inputs.ZeroTrustGatewayPolicyRuleSettingsArgs.builder()
            .addHeaders(
                addHeaders?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            )
            .allowChildBypass(allowChildBypass?.applyValue({ args0 -> args0 }))
            .auditSsh(auditSsh?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .bisoAdminControls(bisoAdminControls?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .blockPageEnabled(blockPageEnabled?.applyValue({ args0 -> args0 }))
            .blockPageReason(blockPageReason?.applyValue({ args0 -> args0 }))
            .bypassParentRule(bypassParentRule?.applyValue({ args0 -> args0 }))
            .checkSession(checkSession?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .dnsResolvers(dnsResolvers?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .egress(egress?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .ignoreCnameCategoryMatches(ignoreCnameCategoryMatches?.applyValue({ args0 -> args0 }))
            .insecureDisableDnssecValidation(insecureDisableDnssecValidation?.applyValue({ args0 -> args0 }))
            .ipCategories(ipCategories?.applyValue({ args0 -> args0 }))
            .l4override(l4override?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .notificationSettings(
                notificationSettings?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .overrideHost(overrideHost?.applyValue({ args0 -> args0 }))
            .overrideIps(overrideIps?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .payloadLog(payloadLog?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .resolveDnsThroughCloudflare(resolveDnsThroughCloudflare?.applyValue({ args0 -> args0 }))
            .untrustedCert(untrustedCert?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

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

    private var allowChildBypass: Output? = null

    private var auditSsh: Output? = null

    private var bisoAdminControls: Output? =
        null

    private var blockPageEnabled: Output? = null

    private var blockPageReason: Output? = null

    private var bypassParentRule: Output? = null

    private var checkSession: Output? = null

    private var dnsResolvers: Output? = null

    private var egress: Output? = null

    private var ignoreCnameCategoryMatches: Output? = null

    private var insecureDisableDnssecValidation: Output? = null

    private var ipCategories: Output? = null

    private var l4override: Output? = null

    private var notificationSettings:
        Output? = null

    private var overrideHost: Output? = null

    private var overrideIps: Output>? = null

    private var payloadLog: Output? = null

    private var resolveDnsThroughCloudflare: Output? = null

    private var untrustedCert: Output? = null

    /**
     * @param value Add custom headers to allowed requests in the form of key-value pairs.
     */
    @JvmName("rdnjurednflgmugh")
    public suspend fun addHeaders(`value`: Output>) {
        this.addHeaders = value
    }

    /**
     * @param value Allow parent MSP accounts to enable bypass their children's rules.
     */
    @JvmName("cphmbconmeqccxvc")
    public suspend fun allowChildBypass(`value`: Output) {
        this.allowChildBypass = value
    }

    /**
     * @param value Settings for auditing SSH usage.
     */
    @JvmName("daimprqkhefdoyta")
    public suspend fun auditSsh(`value`: Output) {
        this.auditSsh = value
    }

    /**
     * @param value Configure how browser isolation behaves.
     */
    @JvmName("qyhiafarisdqdyis")
    public suspend fun bisoAdminControls(`value`: Output) {
        this.bisoAdminControls = value
    }

    /**
     * @param value Indicator of block page enablement.
     */
    @JvmName("axkgubqcsopaedyg")
    public suspend fun blockPageEnabled(`value`: Output) {
        this.blockPageEnabled = value
    }

    /**
     * @param value The displayed reason for a user being blocked.
     */
    @JvmName("ryodvbsnjwuhkguo")
    public suspend fun blockPageReason(`value`: Output) {
        this.blockPageReason = value
    }

    /**
     * @param value Allow child MSP accounts to bypass their parent's rule.
     */
    @JvmName("pyyrtnsjwvckvons")
    public suspend fun bypassParentRule(`value`: Output) {
        this.bypassParentRule = value
    }

    /**
     * @param value Configure how session check behaves.
     */
    @JvmName("nictwerftlardavq")
    public suspend fun checkSession(`value`: Output) {
        this.checkSession = value
    }

    /**
     * @param value Add your own custom resolvers to route queries that match the resolver policy. Cannot be used when resolve*dns*through*cloudflare is set. DNS queries will route to the address closest to their origin.
     */
    @JvmName("fqkndvawnaupkdcb")
    public suspend fun dnsResolvers(`value`: Output) {
        this.dnsResolvers = value
    }

    /**
     * @param value Configure how Proxy traffic egresses. Can be set for rules with Egress action and Egress filter. Can be omitted to indicate local egress via Warp IPs.
     */
    @JvmName("jsfgmdnqdllpoqdy")
    public suspend fun egress(`value`: Output) {
        this.egress = value
    }

    /**
     * @param value Set to true, to ignore the category matches at CNAME domains in a response.
     */
    @JvmName("wflpwmyvxwyuupae")
    public suspend fun ignoreCnameCategoryMatches(`value`: Output) {
        this.ignoreCnameCategoryMatches = value
    }

    /**
     * @param value Disable DNSSEC validation (must be Allow rule).
     */
    @JvmName("yknulldclmfxewgj")
    public suspend fun insecureDisableDnssecValidation(`value`: Output) {
        this.insecureDisableDnssecValidation = value
    }

    /**
     * @param value Turns on IP category based filter on dns if the rule contains dns category checks.
     */
    @JvmName("lkxxjfhadugorytu")
    public suspend fun ipCategories(`value`: Output) {
        this.ipCategories = value
    }

    /**
     * @param value Settings to forward layer 4 traffic.
     */
    @JvmName("qdngcrldjoqirikt")
    public suspend fun l4override(`value`: Output) {
        this.l4override = value
    }

    /**
     * @param value Notification settings on a block rule.
     */
    @JvmName("ehslgylriidshrqs")
    public suspend fun notificationSettings(`value`: Output) {
        this.notificationSettings = value
    }

    /**
     * @param value The host to override matching DNS queries with.
     */
    @JvmName("ldjjpkkkelmtdqeu")
    public suspend fun overrideHost(`value`: Output) {
        this.overrideHost = value
    }

    /**
     * @param value The IPs to override matching DNS queries with.
     */
    @JvmName("ojapghmhnutfqmsh")
    public suspend fun overrideIps(`value`: Output>) {
        this.overrideIps = value
    }

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

    /**
     * @param values The IPs to override matching DNS queries with.
     */
    @JvmName("dmqbjggxlelrryeo")
    public suspend fun overrideIps(values: List>) {
        this.overrideIps = Output.all(values)
    }

    /**
     * @param value Configure DLP Payload Logging settings for this rule.
     */
    @JvmName("oxoyucpjhpfvleau")
    public suspend fun payloadLog(`value`: Output) {
        this.payloadLog = value
    }

    /**
     * @param value Enable sending queries that match the resolver policy to Cloudflare's default 1.1.1.1 DNS resolver. Cannot be set when `dns_resolvers` are specified.
     */
    @JvmName("qvnknysdgihxfuvu")
    public suspend fun resolveDnsThroughCloudflare(`value`: Output) {
        this.resolveDnsThroughCloudflare = value
    }

    /**
     * @param value Configure untrusted certificate settings for this rule.
     */
    @JvmName("qeiqpejypdlbuuug")
    public suspend fun untrustedCert(`value`: Output) {
        this.untrustedCert = value
    }

    /**
     * @param value Add custom headers to allowed requests in the form of key-value pairs.
     */
    @JvmName("wuypqrfqhihseinp")
    public suspend fun addHeaders(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.addHeaders = mapped
    }

    /**
     * @param values Add custom headers to allowed requests in the form of key-value pairs.
     */
    @JvmName("vnexntcdkbwdeqsg")
    public fun addHeaders(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.addHeaders = mapped
    }

    /**
     * @param value Allow parent MSP accounts to enable bypass their children's rules.
     */
    @JvmName("mfienhlogmljxcrq")
    public suspend fun allowChildBypass(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.allowChildBypass = mapped
    }

    /**
     * @param value Settings for auditing SSH usage.
     */
    @JvmName("drbcyvtiwafnvnos")
    public suspend fun auditSsh(`value`: ZeroTrustGatewayPolicyRuleSettingsAuditSshArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.auditSsh = mapped
    }

    /**
     * @param argument Settings for auditing SSH usage.
     */
    @JvmName("uvrcuvgmolbxlitx")
    public suspend fun auditSsh(argument: suspend ZeroTrustGatewayPolicyRuleSettingsAuditSshArgsBuilder.() -> Unit) {
        val toBeMapped = ZeroTrustGatewayPolicyRuleSettingsAuditSshArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.auditSsh = mapped
    }

    /**
     * @param value Configure how browser isolation behaves.
     */
    @JvmName("dcxjhqlltuamwlxb")
    public suspend fun bisoAdminControls(`value`: ZeroTrustGatewayPolicyRuleSettingsBisoAdminControlsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.bisoAdminControls = mapped
    }

    /**
     * @param argument Configure how browser isolation behaves.
     */
    @JvmName("upmobknddimmfotc")
    public suspend fun bisoAdminControls(argument: suspend ZeroTrustGatewayPolicyRuleSettingsBisoAdminControlsArgsBuilder.() -> Unit) {
        val toBeMapped = ZeroTrustGatewayPolicyRuleSettingsBisoAdminControlsArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.bisoAdminControls = mapped
    }

    /**
     * @param value Indicator of block page enablement.
     */
    @JvmName("utjljmnvgqmhmawu")
    public suspend fun blockPageEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.blockPageEnabled = mapped
    }

    /**
     * @param value The displayed reason for a user being blocked.
     */
    @JvmName("cgbtekctqgvjarat")
    public suspend fun blockPageReason(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.blockPageReason = mapped
    }

    /**
     * @param value Allow child MSP accounts to bypass their parent's rule.
     */
    @JvmName("cmcfxjljxsjeltxu")
    public suspend fun bypassParentRule(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.bypassParentRule = mapped
    }

    /**
     * @param value Configure how session check behaves.
     */
    @JvmName("thckarskqljwlrtp")
    public suspend fun checkSession(`value`: ZeroTrustGatewayPolicyRuleSettingsCheckSessionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.checkSession = mapped
    }

    /**
     * @param argument Configure how session check behaves.
     */
    @JvmName("vhdjkdcwrcmmtcon")
    public suspend fun checkSession(argument: suspend ZeroTrustGatewayPolicyRuleSettingsCheckSessionArgsBuilder.() -> Unit) {
        val toBeMapped = ZeroTrustGatewayPolicyRuleSettingsCheckSessionArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.checkSession = mapped
    }

    /**
     * @param value Add your own custom resolvers to route queries that match the resolver policy. Cannot be used when resolve*dns*through*cloudflare is set. DNS queries will route to the address closest to their origin.
     */
    @JvmName("gtaqgmjumrhnkgbl")
    public suspend fun dnsResolvers(`value`: ZeroTrustGatewayPolicyRuleSettingsDnsResolversArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dnsResolvers = mapped
    }

    /**
     * @param argument Add your own custom resolvers to route queries that match the resolver policy. Cannot be used when resolve*dns*through*cloudflare is set. DNS queries will route to the address closest to their origin.
     */
    @JvmName("gxepjrkikrdnivgg")
    public suspend fun dnsResolvers(argument: suspend ZeroTrustGatewayPolicyRuleSettingsDnsResolversArgsBuilder.() -> Unit) {
        val toBeMapped = ZeroTrustGatewayPolicyRuleSettingsDnsResolversArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.dnsResolvers = mapped
    }

    /**
     * @param value Configure how Proxy traffic egresses. Can be set for rules with Egress action and Egress filter. Can be omitted to indicate local egress via Warp IPs.
     */
    @JvmName("tqembfmnrgqagtsv")
    public suspend fun egress(`value`: ZeroTrustGatewayPolicyRuleSettingsEgressArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.egress = mapped
    }

    /**
     * @param argument Configure how Proxy traffic egresses. Can be set for rules with Egress action and Egress filter. Can be omitted to indicate local egress via Warp IPs.
     */
    @JvmName("qbnvolrmqjqoqkcx")
    public suspend fun egress(argument: suspend ZeroTrustGatewayPolicyRuleSettingsEgressArgsBuilder.() -> Unit) {
        val toBeMapped = ZeroTrustGatewayPolicyRuleSettingsEgressArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.egress = mapped
    }

    /**
     * @param value Set to true, to ignore the category matches at CNAME domains in a response.
     */
    @JvmName("sfxunuhuhdwtllxc")
    public suspend fun ignoreCnameCategoryMatches(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ignoreCnameCategoryMatches = mapped
    }

    /**
     * @param value Disable DNSSEC validation (must be Allow rule).
     */
    @JvmName("bbnqebhhbcbrirjw")
    public suspend fun insecureDisableDnssecValidation(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.insecureDisableDnssecValidation = mapped
    }

    /**
     * @param value Turns on IP category based filter on dns if the rule contains dns category checks.
     */
    @JvmName("hnrqgqfyufeevvld")
    public suspend fun ipCategories(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ipCategories = mapped
    }

    /**
     * @param value Settings to forward layer 4 traffic.
     */
    @JvmName("kndnrnbhjnqrhomn")
    public suspend fun l4override(`value`: ZeroTrustGatewayPolicyRuleSettingsL4overrideArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.l4override = mapped
    }

    /**
     * @param argument Settings to forward layer 4 traffic.
     */
    @JvmName("vdswwqivmvqqmgdn")
    public suspend fun l4override(argument: suspend ZeroTrustGatewayPolicyRuleSettingsL4overrideArgsBuilder.() -> Unit) {
        val toBeMapped = ZeroTrustGatewayPolicyRuleSettingsL4overrideArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.l4override = mapped
    }

    /**
     * @param value Notification settings on a block rule.
     */
    @JvmName("blfqkiblxywrobvq")
    public suspend fun notificationSettings(`value`: ZeroTrustGatewayPolicyRuleSettingsNotificationSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.notificationSettings = mapped
    }

    /**
     * @param argument Notification settings on a block rule.
     */
    @JvmName("kkchpmghgjegvyqj")
    public suspend fun notificationSettings(argument: suspend ZeroTrustGatewayPolicyRuleSettingsNotificationSettingsArgsBuilder.() -> Unit) {
        val toBeMapped =
            ZeroTrustGatewayPolicyRuleSettingsNotificationSettingsArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.notificationSettings = mapped
    }

    /**
     * @param value The host to override matching DNS queries with.
     */
    @JvmName("lvaflhvphkjecmqs")
    public suspend fun overrideHost(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.overrideHost = mapped
    }

    /**
     * @param value The IPs to override matching DNS queries with.
     */
    @JvmName("hkwwpgebbeuhjrhb")
    public suspend fun overrideIps(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.overrideIps = mapped
    }

    /**
     * @param values The IPs to override matching DNS queries with.
     */
    @JvmName("hpleyyrjecilqjhy")
    public suspend fun overrideIps(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.overrideIps = mapped
    }

    /**
     * @param value Configure DLP Payload Logging settings for this rule.
     */
    @JvmName("ycnidrndpasnjawc")
    public suspend fun payloadLog(`value`: ZeroTrustGatewayPolicyRuleSettingsPayloadLogArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.payloadLog = mapped
    }

    /**
     * @param argument Configure DLP Payload Logging settings for this rule.
     */
    @JvmName("vllqqtgtujtbmsjf")
    public suspend fun payloadLog(argument: suspend ZeroTrustGatewayPolicyRuleSettingsPayloadLogArgsBuilder.() -> Unit) {
        val toBeMapped = ZeroTrustGatewayPolicyRuleSettingsPayloadLogArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.payloadLog = mapped
    }

    /**
     * @param value Enable sending queries that match the resolver policy to Cloudflare's default 1.1.1.1 DNS resolver. Cannot be set when `dns_resolvers` are specified.
     */
    @JvmName("tkhjknlnrldyjtfa")
    public suspend fun resolveDnsThroughCloudflare(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resolveDnsThroughCloudflare = mapped
    }

    /**
     * @param value Configure untrusted certificate settings for this rule.
     */
    @JvmName("wosdubnpypbmrndu")
    public suspend fun untrustedCert(`value`: ZeroTrustGatewayPolicyRuleSettingsUntrustedCertArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.untrustedCert = mapped
    }

    /**
     * @param argument Configure untrusted certificate settings for this rule.
     */
    @JvmName("sqcwxwcytioxgcpr")
    public suspend fun untrustedCert(argument: suspend ZeroTrustGatewayPolicyRuleSettingsUntrustedCertArgsBuilder.() -> Unit) {
        val toBeMapped = ZeroTrustGatewayPolicyRuleSettingsUntrustedCertArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.untrustedCert = mapped
    }

    internal fun build(): ZeroTrustGatewayPolicyRuleSettingsArgs =
        ZeroTrustGatewayPolicyRuleSettingsArgs(
            addHeaders = addHeaders,
            allowChildBypass = allowChildBypass,
            auditSsh = auditSsh,
            bisoAdminControls = bisoAdminControls,
            blockPageEnabled = blockPageEnabled,
            blockPageReason = blockPageReason,
            bypassParentRule = bypassParentRule,
            checkSession = checkSession,
            dnsResolvers = dnsResolvers,
            egress = egress,
            ignoreCnameCategoryMatches = ignoreCnameCategoryMatches,
            insecureDisableDnssecValidation = insecureDisableDnssecValidation,
            ipCategories = ipCategories,
            l4override = l4override,
            notificationSettings = notificationSettings,
            overrideHost = overrideHost,
            overrideIps = overrideIps,
            payloadLog = payloadLog,
            resolveDnsThroughCloudflare = resolveDnsThroughCloudflare,
            untrustedCert = untrustedCert,
        )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy