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

com.pulumi.azure.network.kotlin.outputs.ApplicationGatewayWafConfiguration.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.outputs

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

/**
 *
 * @property disabledRuleGroups One or more `disabled_rule_group` blocks as defined below.
 * @property enabled Is the Web Application Firewall enabled?
 * @property exclusions One or more `exclusion` blocks as defined below.
 * @property fileUploadLimitMb The File Upload Limit in MB. Accepted values are in the range `1`MB to `750`MB for the `WAF_v2` SKU, and `1`MB to `500`MB for all other SKUs. Defaults to `100`MB.
 * @property firewallMode The Web Application Firewall Mode. Possible values are `Detection` and `Prevention`.
 * @property maxRequestBodySizeKb The Maximum Request Body Size in KB. Accepted values are in the range `1`KB to `128`KB. Defaults to `128`KB.
 * @property requestBodyCheck Is Request Body Inspection enabled? Defaults to `true`.
 * @property ruleSetType The Type of the Rule Set used for this Web Application Firewall. Possible values are `OWASP`, `Microsoft_BotManagerRuleSet` and `Microsoft_DefaultRuleSet`. Defaults to `OWASP`.
 * @property ruleSetVersion The Version of the Rule Set used for this Web Application Firewall. Possible values are `0.1`, `1.0`, `2.1`, `2.2.9`, `3.0`, `3.1` and `3.2`.
 */
public data class ApplicationGatewayWafConfiguration(
    public val disabledRuleGroups: List? = null,
    public val enabled: Boolean,
    public val exclusions: List? = null,
    public val fileUploadLimitMb: Int? = null,
    public val firewallMode: String,
    public val maxRequestBodySizeKb: Int? = null,
    public val requestBodyCheck: Boolean? = null,
    public val ruleSetType: String? = null,
    public val ruleSetVersion: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.network.outputs.ApplicationGatewayWafConfiguration): ApplicationGatewayWafConfiguration = ApplicationGatewayWafConfiguration(
            disabledRuleGroups = javaType.disabledRuleGroups().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.network.kotlin.outputs.ApplicationGatewayWafConfigurationDisabledRuleGroup.Companion.toKotlin(args0)
                })
            }),
            enabled = javaType.enabled(),
            exclusions = javaType.exclusions().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.network.kotlin.outputs.ApplicationGatewayWafConfigurationExclusion.Companion.toKotlin(args0)
                })
            }),
            fileUploadLimitMb = javaType.fileUploadLimitMb().map({ args0 -> args0 }).orElse(null),
            firewallMode = javaType.firewallMode(),
            maxRequestBodySizeKb = javaType.maxRequestBodySizeKb().map({ args0 -> args0 }).orElse(null),
            requestBodyCheck = javaType.requestBodyCheck().map({ args0 -> args0 }).orElse(null),
            ruleSetType = javaType.ruleSetType().map({ args0 -> args0 }).orElse(null),
            ruleSetVersion = javaType.ruleSetVersion(),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy