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

com.pulumi.cloudflare.kotlin.outputs.ZeroTrustGatewayPolicyRuleSettings.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.outputs

import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map

/**
 *
 * @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 ZeroTrustGatewayPolicyRuleSettings(
    public val addHeaders: Map? = null,
    public val allowChildBypass: Boolean? = null,
    public val auditSsh: ZeroTrustGatewayPolicyRuleSettingsAuditSsh? = null,
    public val bisoAdminControls: ZeroTrustGatewayPolicyRuleSettingsBisoAdminControls? = null,
    public val blockPageEnabled: Boolean? = null,
    public val blockPageReason: String? = null,
    public val bypassParentRule: Boolean? = null,
    public val checkSession: ZeroTrustGatewayPolicyRuleSettingsCheckSession? = null,
    public val dnsResolvers: ZeroTrustGatewayPolicyRuleSettingsDnsResolvers? = null,
    public val egress: ZeroTrustGatewayPolicyRuleSettingsEgress? = null,
    public val ignoreCnameCategoryMatches: Boolean? = null,
    public val insecureDisableDnssecValidation: Boolean? = null,
    public val ipCategories: Boolean? = null,
    public val l4override: ZeroTrustGatewayPolicyRuleSettingsL4override? = null,
    public val notificationSettings: ZeroTrustGatewayPolicyRuleSettingsNotificationSettings? = null,
    public val overrideHost: String? = null,
    public val overrideIps: List? = null,
    public val payloadLog: ZeroTrustGatewayPolicyRuleSettingsPayloadLog? = null,
    public val resolveDnsThroughCloudflare: Boolean? = null,
    public val untrustedCert: ZeroTrustGatewayPolicyRuleSettingsUntrustedCert? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.cloudflare.outputs.ZeroTrustGatewayPolicyRuleSettings): ZeroTrustGatewayPolicyRuleSettings = ZeroTrustGatewayPolicyRuleSettings(
            addHeaders = javaType.addHeaders().map({ args0 -> args0.key.to(args0.value) }).toMap(),
            allowChildBypass = javaType.allowChildBypass().map({ args0 -> args0 }).orElse(null),
            auditSsh = javaType.auditSsh().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.ZeroTrustGatewayPolicyRuleSettingsAuditSsh.Companion.toKotlin(args0)
                })
            }).orElse(null),
            bisoAdminControls = javaType.bisoAdminControls().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.ZeroTrustGatewayPolicyRuleSettingsBisoAdminControls.Companion.toKotlin(args0)
                })
            }).orElse(null),
            blockPageEnabled = javaType.blockPageEnabled().map({ args0 -> args0 }).orElse(null),
            blockPageReason = javaType.blockPageReason().map({ args0 -> args0 }).orElse(null),
            bypassParentRule = javaType.bypassParentRule().map({ args0 -> args0 }).orElse(null),
            checkSession = javaType.checkSession().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.ZeroTrustGatewayPolicyRuleSettingsCheckSession.Companion.toKotlin(args0)
                })
            }).orElse(null),
            dnsResolvers = javaType.dnsResolvers().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.ZeroTrustGatewayPolicyRuleSettingsDnsResolvers.Companion.toKotlin(args0)
                })
            }).orElse(null),
            egress = javaType.egress().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.ZeroTrustGatewayPolicyRuleSettingsEgress.Companion.toKotlin(args0)
                })
            }).orElse(null),
            ignoreCnameCategoryMatches = javaType.ignoreCnameCategoryMatches().map({ args0 ->
                args0
            }).orElse(null),
            insecureDisableDnssecValidation = javaType.insecureDisableDnssecValidation().map({ args0 ->
                args0
            }).orElse(null),
            ipCategories = javaType.ipCategories().map({ args0 -> args0 }).orElse(null),
            l4override = javaType.l4override().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.ZeroTrustGatewayPolicyRuleSettingsL4override.Companion.toKotlin(args0)
                })
            }).orElse(null),
            notificationSettings = javaType.notificationSettings().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.ZeroTrustGatewayPolicyRuleSettingsNotificationSettings.Companion.toKotlin(args0)
                })
            }).orElse(null),
            overrideHost = javaType.overrideHost().map({ args0 -> args0 }).orElse(null),
            overrideIps = javaType.overrideIps().map({ args0 -> args0 }),
            payloadLog = javaType.payloadLog().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.ZeroTrustGatewayPolicyRuleSettingsPayloadLog.Companion.toKotlin(args0)
                })
            }).orElse(null),
            resolveDnsThroughCloudflare = javaType.resolveDnsThroughCloudflare().map({ args0 ->
                args0
            }).orElse(null),
            untrustedCert = javaType.untrustedCert().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.ZeroTrustGatewayPolicyRuleSettingsUntrustedCert.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy