![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclManagedRuleGroupConfig.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.wafv2.kotlin.outputs
import com.pulumi.awsnative.wafv2.kotlin.enums.WebAclManagedRuleGroupConfigPayloadType
import kotlin.String
import kotlin.Suppress
/**
* ManagedRuleGroupConfig.
* @property awsManagedRulesAcfpRuleSet Additional configuration for using the account creation fraud prevention (ACFP) managed rule group, `AWSManagedRulesACFPRuleSet` . Use this to provide account creation request information to the rule group. For web ACLs that protect CloudFront distributions, use this to also provide the information about how your distribution responds to account creation requests.
* For information about using the ACFP managed rule group, see [AWS WAF Fraud Control account creation fraud prevention (ACFP) rule group](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-acfp.html) and [AWS WAF Fraud Control account creation fraud prevention (ACFP)](https://docs.aws.amazon.com/waf/latest/developerguide/waf-acfp.html) in the *AWS WAF Developer Guide* .
* @property awsManagedRulesAtpRuleSet Additional configuration for using the account takeover prevention (ATP) managed rule group, `AWSManagedRulesATPRuleSet` . Use this to provide login request information to the rule group. For web ACLs that protect CloudFront distributions, use this to also provide the information about how your distribution responds to login requests.
* This configuration replaces the individual configuration fields in `ManagedRuleGroupConfig` and provides additional feature configuration.
* For information about using the ATP managed rule group, see [AWS WAF Fraud Control account takeover prevention (ATP) rule group](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-atp.html) and [AWS WAF Fraud Control account takeover prevention (ATP)](https://docs.aws.amazon.com/waf/latest/developerguide/waf-atp.html) in the *AWS WAF Developer Guide* .
* @property awsManagedRulesBotControlRuleSet Additional configuration for using the Bot Control managed rule group. Use this to specify the inspection level that you want to use. For information about using the Bot Control managed rule group, see [AWS WAF Bot Control rule group](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html) and [AWS WAF Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html) in the *AWS WAF Developer Guide* .
* @property loginPath > Instead of this setting, provide your configuration under `AWSManagedRulesATPRuleSet` .
* @property passwordField > Instead of this setting, provide your configuration under the request inspection configuration for `AWSManagedRulesATPRuleSet` or `AWSManagedRulesACFPRuleSet` .
* @property payloadType > Instead of this setting, provide your configuration under the request inspection configuration for `AWSManagedRulesATPRuleSet` or `AWSManagedRulesACFPRuleSet` .
* @property usernameField > Instead of this setting, provide your configuration under the request inspection configuration for `AWSManagedRulesATPRuleSet` or `AWSManagedRulesACFPRuleSet` .
*/
public data class WebAclManagedRuleGroupConfig(
public val awsManagedRulesAcfpRuleSet: WebAclAwsManagedRulesAcfpRuleSet? = null,
public val awsManagedRulesAtpRuleSet: WebAclAwsManagedRulesAtpRuleSet? = null,
public val awsManagedRulesBotControlRuleSet: WebAclAwsManagedRulesBotControlRuleSet? = null,
public val loginPath: String? = null,
public val passwordField: WebAclFieldIdentifier? = null,
public val payloadType: WebAclManagedRuleGroupConfigPayloadType? = null,
public val usernameField: WebAclFieldIdentifier? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.wafv2.outputs.WebAclManagedRuleGroupConfig): WebAclManagedRuleGroupConfig = WebAclManagedRuleGroupConfig(
awsManagedRulesAcfpRuleSet = javaType.awsManagedRulesAcfpRuleSet().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclAwsManagedRulesAcfpRuleSet.Companion.toKotlin(args0)
})
}).orElse(null),
awsManagedRulesAtpRuleSet = javaType.awsManagedRulesAtpRuleSet().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclAwsManagedRulesAtpRuleSet.Companion.toKotlin(args0)
})
}).orElse(null),
awsManagedRulesBotControlRuleSet = javaType.awsManagedRulesBotControlRuleSet().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclAwsManagedRulesBotControlRuleSet.Companion.toKotlin(args0)
})
}).orElse(null),
loginPath = javaType.loginPath().map({ args0 -> args0 }).orElse(null),
passwordField = javaType.passwordField().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclFieldIdentifier.Companion.toKotlin(args0)
})
}).orElse(null),
payloadType = javaType.payloadType().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.wafv2.kotlin.enums.WebAclManagedRuleGroupConfigPayloadType.Companion.toKotlin(args0)
})
}).orElse(null),
usernameField = javaType.usernameField().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclFieldIdentifier.Companion.toKotlin(args0)
})
}).orElse(null),
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy