com.pulumi.awsnative.networkfirewall.kotlin.outputs.RuleGroupRuleDefinition.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.networkfirewall.kotlin.outputs
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
/**
*
* @property actions The actions to take on a packet that matches one of the stateless rule definition's match attributes. You must specify a standard action and you can add custom actions.
* > Network Firewall only forwards a packet for stateful rule inspection if you specify `aws:forward_to_sfe` for a rule that the packet matches, or if the packet doesn't match any stateless rule and you specify `aws:forward_to_sfe` for the `StatelessDefaultActions` setting for the `FirewallPolicy` .
* For every rule, you must specify exactly one of the following standard actions.
* - *aws:pass* - Discontinues all inspection of the packet and permits it to go to its intended destination.
* - *aws:drop* - Discontinues all inspection of the packet and blocks it from going to its intended destination.
* - *aws:forward_to_sfe* - Discontinues stateless inspection of the packet and forwards it to the stateful rule engine for inspection.
* Additionally, you can specify a custom action. To do this, you define a custom action by name and type, then provide the name you've assigned to the action in this `Actions` setting.
* To provide more than one action in this setting, separate the settings with a comma. For example, if you have a publish metrics custom action that you've named `MyMetricsAction` , then you could specify the standard action `aws:pass` combined with the custom action using `["aws:pass", "MyMetricsAction"]` .
* @property matchAttributes Criteria for Network Firewall to use to inspect an individual packet in stateless rule inspection. Each match attributes set can include one or more items such as IP address, CIDR range, port number, protocol, and TCP flags.
*/
public data class RuleGroupRuleDefinition(
public val actions: List,
public val matchAttributes: RuleGroupMatchAttributes,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.networkfirewall.outputs.RuleGroupRuleDefinition): RuleGroupRuleDefinition = RuleGroupRuleDefinition(
actions = javaType.actions().map({ args0 -> args0 }),
matchAttributes = javaType.matchAttributes().let({ args0 ->
com.pulumi.awsnative.networkfirewall.kotlin.outputs.RuleGroupMatchAttributes.Companion.toKotlin(args0)
}),
)
}
}