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

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

package com.pulumi.awsnative.networkfirewall.kotlin.outputs

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

/**
 *
 * @property rulesSourceList Stateful inspection criteria for a domain list rule group.
 * @property rulesString Stateful inspection criteria, provided in Suricata compatible rules. Suricata is an open-source threat detection framework that includes a standard rule-based language for network traffic inspection.
 * These rules contain the inspection criteria and the action to take for traffic that matches the criteria, so this type of rule group doesn't have a separate action setting.
 * > You can't use the `priority` keyword if the `RuleOrder` option in `StatefulRuleOptions` is set to `STRICT_ORDER` .
 * @property statefulRules An array of individual stateful rules inspection criteria to be used together in a stateful rule group. Use this option to specify simple Suricata rules with protocol, source and destination, ports, direction, and rule options. For information about the Suricata `Rules` format, see [Rules Format](https://docs.aws.amazon.com/https://suricata.readthedocs.io/en/suricata-6.0.9/rules/intro.html) .
 * @property statelessRulesAndCustomActions Stateless inspection criteria to be used in a stateless rule group.
 */
public data class RuleGroupRulesSource(
    public val rulesSourceList: RuleGroupRulesSourceList? = null,
    public val rulesString: String? = null,
    public val statefulRules: List? = null,
    public val statelessRulesAndCustomActions: RuleGroupStatelessRulesAndCustomActions? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.networkfirewall.outputs.RuleGroupRulesSource): RuleGroupRulesSource = RuleGroupRulesSource(
            rulesSourceList = javaType.rulesSourceList().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.networkfirewall.kotlin.outputs.RuleGroupRulesSourceList.Companion.toKotlin(args0)
                })
            }).orElse(null),
            rulesString = javaType.rulesString().map({ args0 -> args0 }).orElse(null),
            statefulRules = javaType.statefulRules().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.networkfirewall.kotlin.outputs.RuleGroupStatefulRule.Companion.toKotlin(args0)
                })
            }),
            statelessRulesAndCustomActions = javaType.statelessRulesAndCustomActions().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.networkfirewall.kotlin.outputs.RuleGroupStatelessRulesAndCustomActions.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy