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

com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclManagedRuleGroupStatement.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: 1.11.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.wafv2.kotlin.outputs

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property excludedRules Rules in the referenced rule group whose actions are set to `Count` .
 * > Instead of this option, use `RuleActionOverrides` . It accepts any valid action setting, including `Count` .
 * @property managedRuleGroupConfigs Collection of ManagedRuleGroupConfig.
 * @property name The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.
 * @property ruleActionOverrides Action overrides for rules in the rule group.
 * @property scopeDownStatement An optional nested statement that narrows the scope of the web requests that are evaluated by the managed rule group. Requests are only evaluated by the rule group if they match the scope-down statement. You can use any nestable `Statement` in the scope-down statement, and you can nest statements at any level, the same as you can for a rule statement.
 * @property vendorName The name of the managed rule group vendor. You use this, along with the rule group name, to identify a rule group.
 * @property version The version of the managed rule group to use. If you specify this, the version setting is fixed until you change it. If you don't specify this, AWS WAF uses the vendor's default version, and then keeps the version at the vendor's default when the vendor updates the managed rule group settings.
 */
public data class WebAclManagedRuleGroupStatement(
    public val excludedRules: List? = null,
    public val managedRuleGroupConfigs: List? = null,
    public val name: String,
    public val ruleActionOverrides: List? = null,
    public val scopeDownStatement: WebAclStatement? = null,
    public val vendorName: String,
    public val version: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.wafv2.outputs.WebAclManagedRuleGroupStatement): WebAclManagedRuleGroupStatement = WebAclManagedRuleGroupStatement(
            excludedRules = javaType.excludedRules().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclExcludedRule.Companion.toKotlin(args0)
                })
            }),
            managedRuleGroupConfigs = javaType.managedRuleGroupConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclManagedRuleGroupConfig.Companion.toKotlin(args0)
                })
            }),
            name = javaType.name(),
            ruleActionOverrides = javaType.ruleActionOverrides().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclRuleActionOverride.Companion.toKotlin(args0)
                })
            }),
            scopeDownStatement = javaType.scopeDownStatement().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclStatement.Companion.toKotlin(args0)
                })
            }).orElse(null),
            vendorName = javaType.vendorName(),
            version = javaType.version().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy