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

com.pulumi.awsnative.networkfirewall.kotlin.outputs.RuleGroupStatefulRule.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

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

import com.pulumi.awsnative.networkfirewall.kotlin.enums.RuleGroupStatefulRuleAction
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property action Defines what Network Firewall should do with the packets in a traffic flow when the flow matches the stateful rule criteria. For all actions, Network Firewall performs the specified action and discontinues stateful inspection of the traffic flow.
 * The actions for a stateful rule are defined as follows:
 * - *PASS* - Permits the packets to go to the intended destination.
 * - *DROP* - Blocks the packets from going to the intended destination and sends an alert log message, if alert logging is configured in the `Firewall` `LoggingConfiguration` .
 * - *REJECT* - Drops traffic that matches the conditions of the stateful rule and sends a TCP reset packet back to sender of the packet. A TCP reset packet is a packet with no payload and a `RST` bit contained in the TCP header flags. `REJECT` is available only for TCP traffic.
 * - *ALERT* - Permits the packets to go to the intended destination and sends an alert log message, if alert logging is configured in the `Firewall` `LoggingConfiguration` .
 * You can use this action to test a rule that you intend to use to drop traffic. You can enable the rule with `ALERT` action, verify in the logs that the rule is filtering as you want, then change the action to `DROP` .
 * - *REJECT* - Drops TCP traffic that matches the conditions of the stateful rule, and sends a TCP reset packet back to sender of the packet. A TCP reset packet is a packet with no payload and a `RST` bit contained in the TCP header flags. Also sends an alert log mesage if alert logging is configured in the `Firewall` `LoggingConfiguration` .
 * `REJECT` isn't currently available for use with IMAP and FTP protocols.
 * @property header The stateful inspection criteria for this rule, used to inspect traffic flows.
 * @property ruleOptions Additional settings for a stateful rule, provided as keywords and settings.
 */
public data class RuleGroupStatefulRule(
    public val action: RuleGroupStatefulRuleAction,
    public val `header`: RuleGroupHeader,
    public val ruleOptions: List,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.networkfirewall.outputs.RuleGroupStatefulRule): RuleGroupStatefulRule = RuleGroupStatefulRule(
            action = javaType.action().let({ args0 ->
                com.pulumi.awsnative.networkfirewall.kotlin.enums.RuleGroupStatefulRuleAction.Companion.toKotlin(args0)
            }),
            `header` = javaType.`header`().let({ args0 ->
                com.pulumi.awsnative.networkfirewall.kotlin.outputs.RuleGroupHeader.Companion.toKotlin(args0)
            }),
            ruleOptions = javaType.ruleOptions().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.networkfirewall.kotlin.outputs.RuleGroupRuleOption.Companion.toKotlin(args0)
                })
            }),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy