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

com.pulumi.azure.waf.kotlin.outputs.PolicyPolicySettings.kt Maven / Gradle / Ivy

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

package com.pulumi.azure.waf.kotlin.outputs

import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress

/**
 *
 * @property enabled Describes if the policy is in enabled state or disabled state. Defaults to `true`.
 * @property fileUploadLimitInMb The File Upload Limit in MB. Accepted values are in the range `1` to `4000`. Defaults to `100`.
 * @property logScrubbing One `log_scrubbing` block as defined below.
 * @property maxRequestBodySizeInKb The Maximum Request Body Size in KB. Accepted values are in the range `8` to `2000`. Defaults to `128`.
 * @property mode Describes if it is in detection mode or prevention mode at the policy level. Valid values are `Detection` and `Prevention`. Defaults to `Prevention`.
 * @property requestBodyCheck Is Request Body Inspection enabled? Defaults to `true`.
 * @property requestBodyInspectLimitInKb Specifies the maximum request body inspection limit in KB for the Web Application Firewall. Defaults to `128`.
 */
public data class PolicyPolicySettings(
    public val enabled: Boolean? = null,
    public val fileUploadLimitInMb: Int? = null,
    public val logScrubbing: PolicyPolicySettingsLogScrubbing? = null,
    public val maxRequestBodySizeInKb: Int? = null,
    public val mode: String? = null,
    public val requestBodyCheck: Boolean? = null,
    public val requestBodyInspectLimitInKb: Int? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.waf.outputs.PolicyPolicySettings): PolicyPolicySettings = PolicyPolicySettings(
            enabled = javaType.enabled().map({ args0 -> args0 }).orElse(null),
            fileUploadLimitInMb = javaType.fileUploadLimitInMb().map({ args0 -> args0 }).orElse(null),
            logScrubbing = javaType.logScrubbing().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.waf.kotlin.outputs.PolicyPolicySettingsLogScrubbing.Companion.toKotlin(args0)
                })
            }).orElse(null),
            maxRequestBodySizeInKb = javaType.maxRequestBodySizeInKb().map({ args0 -> args0 }).orElse(null),
            mode = javaType.mode().map({ args0 -> args0 }).orElse(null),
            requestBodyCheck = javaType.requestBodyCheck().map({ args0 -> args0 }).orElse(null),
            requestBodyInspectLimitInKb = javaType.requestBodyInspectLimitInKb().map({ args0 ->
                args0
            }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy