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

com.pulumi.awsnative.wafv2.kotlin.inputs.WebAclAwsManagedRulesBotControlRuleSetArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.wafv2.kotlin.inputs

import com.pulumi.awsnative.wafv2.inputs.WebAclAwsManagedRulesBotControlRuleSetArgs.builder
import com.pulumi.awsnative.wafv2.kotlin.enums.WebAclAwsManagedRulesBotControlRuleSetInspectionLevel
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * Configures how to use the Bot Control managed rule group in the web ACL
 * @property enableMachineLearning Applies only to the targeted inspection level.
 * Determines whether to use machine learning (ML) to analyze your web traffic for bot-related activity. Machine learning is required for the Bot Control rules `TGT_ML_CoordinatedActivityLow` and `TGT_ML_CoordinatedActivityMedium` , which
 * inspect for anomalous behavior that might indicate distributed, coordinated bot activity.
 * For more information about this choice, see the listing for these rules in the table at [Bot Control rules listing](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html#aws-managed-rule-groups-bot-rules) in the *AWS WAF Developer Guide* .
 * Default: `TRUE`
 * @property inspectionLevel The inspection level to use for the Bot Control rule group. The common level is the least expensive. The targeted level includes all common level rules and adds rules with more advanced inspection criteria. For details, see [AWS WAF Bot Control rule group](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html) in the *AWS WAF Developer Guide* .
 */
public data class WebAclAwsManagedRulesBotControlRuleSetArgs(
    public val enableMachineLearning: Output? = null,
    public val inspectionLevel: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.wafv2.inputs.WebAclAwsManagedRulesBotControlRuleSetArgs =
        com.pulumi.awsnative.wafv2.inputs.WebAclAwsManagedRulesBotControlRuleSetArgs.builder()
            .enableMachineLearning(enableMachineLearning?.applyValue({ args0 -> args0 }))
            .inspectionLevel(
                inspectionLevel.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [WebAclAwsManagedRulesBotControlRuleSetArgs].
 */
@PulumiTagMarker
public class WebAclAwsManagedRulesBotControlRuleSetArgsBuilder internal constructor() {
    private var enableMachineLearning: Output? = null

    private var inspectionLevel: Output? = null

    /**
     * @param value Applies only to the targeted inspection level.
     * Determines whether to use machine learning (ML) to analyze your web traffic for bot-related activity. Machine learning is required for the Bot Control rules `TGT_ML_CoordinatedActivityLow` and `TGT_ML_CoordinatedActivityMedium` , which
     * inspect for anomalous behavior that might indicate distributed, coordinated bot activity.
     * For more information about this choice, see the listing for these rules in the table at [Bot Control rules listing](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html#aws-managed-rule-groups-bot-rules) in the *AWS WAF Developer Guide* .
     * Default: `TRUE`
     */
    @JvmName("ebqmawlkfsmopmbn")
    public suspend fun enableMachineLearning(`value`: Output) {
        this.enableMachineLearning = value
    }

    /**
     * @param value The inspection level to use for the Bot Control rule group. The common level is the least expensive. The targeted level includes all common level rules and adds rules with more advanced inspection criteria. For details, see [AWS WAF Bot Control rule group](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html) in the *AWS WAF Developer Guide* .
     */
    @JvmName("maclblkvgiuetqat")
    public suspend fun inspectionLevel(`value`: Output) {
        this.inspectionLevel = value
    }

    /**
     * @param value Applies only to the targeted inspection level.
     * Determines whether to use machine learning (ML) to analyze your web traffic for bot-related activity. Machine learning is required for the Bot Control rules `TGT_ML_CoordinatedActivityLow` and `TGT_ML_CoordinatedActivityMedium` , which
     * inspect for anomalous behavior that might indicate distributed, coordinated bot activity.
     * For more information about this choice, see the listing for these rules in the table at [Bot Control rules listing](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html#aws-managed-rule-groups-bot-rules) in the *AWS WAF Developer Guide* .
     * Default: `TRUE`
     */
    @JvmName("gtgpqqsokbedweht")
    public suspend fun enableMachineLearning(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enableMachineLearning = mapped
    }

    /**
     * @param value The inspection level to use for the Bot Control rule group. The common level is the least expensive. The targeted level includes all common level rules and adds rules with more advanced inspection criteria. For details, see [AWS WAF Bot Control rule group](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html) in the *AWS WAF Developer Guide* .
     */
    @JvmName("sqcxskjegauuhtdj")
    public suspend fun inspectionLevel(`value`: WebAclAwsManagedRulesBotControlRuleSetInspectionLevel) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.inspectionLevel = mapped
    }

    internal fun build(): WebAclAwsManagedRulesBotControlRuleSetArgs =
        WebAclAwsManagedRulesBotControlRuleSetArgs(
            enableMachineLearning = enableMachineLearning,
            inspectionLevel = inspectionLevel ?: throw PulumiNullFieldException("inspectionLevel"),
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy