Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.networkfirewall.kotlin.inputs
import com.pulumi.awsnative.networkfirewall.inputs.RuleGroupRulesSourceArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @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 RuleGroupRulesSourceArgs(
public val rulesSourceList: Output? = null,
public val rulesString: Output? = null,
public val statefulRules: Output>? = null,
public val statelessRulesAndCustomActions: Output? =
null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.networkfirewall.inputs.RuleGroupRulesSourceArgs =
com.pulumi.awsnative.networkfirewall.inputs.RuleGroupRulesSourceArgs.builder()
.rulesSourceList(rulesSourceList?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.rulesString(rulesString?.applyValue({ args0 -> args0 }))
.statefulRules(
statefulRules?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.statelessRulesAndCustomActions(
statelessRulesAndCustomActions?.applyValue({ args0 ->
args0.let({ args0 -> args0.toJava() })
}),
).build()
}
/**
* Builder for [RuleGroupRulesSourceArgs].
*/
@PulumiTagMarker
public class RuleGroupRulesSourceArgsBuilder internal constructor() {
private var rulesSourceList: Output? = null
private var rulesString: Output? = null
private var statefulRules: Output>? = null
private var statelessRulesAndCustomActions: Output? =
null
/**
* @param value Stateful inspection criteria for a domain list rule group.
*/
@JvmName("ijjnddcrcvkrvmqe")
public suspend fun rulesSourceList(`value`: Output) {
this.rulesSourceList = value
}
/**
* @param value 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` .
*/
@JvmName("umbucmunmlakteaa")
public suspend fun rulesString(`value`: Output) {
this.rulesString = value
}
/**
* @param value 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) .
*/
@JvmName("icnydlpfvulfckwv")
public suspend fun statefulRules(`value`: Output>) {
this.statefulRules = value
}
@JvmName("boniuhdpgsecphwk")
public suspend fun statefulRules(vararg values: Output) {
this.statefulRules = Output.all(values.asList())
}
/**
* @param values 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) .
*/
@JvmName("bthmjqvckwxakbjb")
public suspend fun statefulRules(values: List