
com.pulumi.awsnative.networkfirewall.kotlin.outputs.FirewallPolicy.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 policyVariables Contains variables that you can use to override default Suricata settings in your firewall policy.
* @property statefulDefaultActions The default actions to take on a packet that doesn't match any stateful rules. The stateful default action is optional, and is only valid when using the strict rule order.
* Valid values of the stateful default action:
* - aws:drop_strict
* - aws:drop_established
* - aws:alert_strict
* - aws:alert_established
* For more information, see [Strict evaluation order](https://docs.aws.amazon.com/network-firewall/latest/developerguide/suricata-rule-evaluation-order.html#suricata-strict-rule-evaluation-order.html) in the *AWS Network Firewall Developer Guide* .
* @property statefulEngineOptions Additional options governing how Network Firewall handles stateful rules. The stateful rule groups that you use in your policy must have stateful rule options settings that are compatible with these settings.
* @property statefulRuleGroupReferences References to the stateful rule groups that are used in the policy. These define the inspection criteria in stateful rules.
* @property statelessCustomActions The custom action definitions that are available for use in the firewall policy's `StatelessDefaultActions` setting. You name each custom action that you define, and then you can use it by name in your default actions specifications.
* @property statelessDefaultActions The actions to take on a packet if it doesn't match any of the stateless rules in the policy. If you want non-matching packets to be forwarded for stateful inspection, specify `aws:forward_to_sfe` .
* You must specify one of the standard actions: `aws:pass` , `aws:drop` , or `aws:forward_to_sfe` . In addition, you can specify custom actions that are compatible with your standard section choice.
* For example, you could specify `["aws:pass"]` or you could specify `["aws:pass", "customActionName"]` . For information about compatibility, see the custom action descriptions.
* @property statelessFragmentDefaultActions The actions to take on a fragmented packet if it doesn't match any of the stateless rules in the policy. If you want non-matching fragmented packets to be forwarded for stateful inspection, specify `aws:forward_to_sfe` .
* You must specify one of the standard actions: `aws:pass` , `aws:drop` , or `aws:forward_to_sfe` . In addition, you can specify custom actions that are compatible with your standard section choice.
* For example, you could specify `["aws:pass"]` or you could specify `["aws:pass", "customActionName"]` . For information about compatibility, see the custom action descriptions.
* @property statelessRuleGroupReferences References to the stateless rule groups that are used in the policy. These define the matching criteria in stateless rules.
* @property tlsInspectionConfigurationArn The Amazon Resource Name (ARN) of the TLS inspection configuration.
*/
public data class FirewallPolicy(
public val policyVariables: FirewallPolicyPolicyVariablesProperties? = null,
public val statefulDefaultActions: List? = null,
public val statefulEngineOptions: FirewallPolicyStatefulEngineOptions? = null,
public val statefulRuleGroupReferences: List? = null,
public val statelessCustomActions: List? = null,
public val statelessDefaultActions: List,
public val statelessFragmentDefaultActions: List,
public val statelessRuleGroupReferences: List? = null,
public val tlsInspectionConfigurationArn: String? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.networkfirewall.outputs.FirewallPolicy): FirewallPolicy = FirewallPolicy(
policyVariables = javaType.policyVariables().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.networkfirewall.kotlin.outputs.FirewallPolicyPolicyVariablesProperties.Companion.toKotlin(args0)
})
}).orElse(null),
statefulDefaultActions = javaType.statefulDefaultActions().map({ args0 -> args0 }),
statefulEngineOptions = javaType.statefulEngineOptions().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.networkfirewall.kotlin.outputs.FirewallPolicyStatefulEngineOptions.Companion.toKotlin(args0)
})
}).orElse(null),
statefulRuleGroupReferences = javaType.statefulRuleGroupReferences().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.networkfirewall.kotlin.outputs.FirewallPolicyStatefulRuleGroupReference.Companion.toKotlin(args0)
})
}),
statelessCustomActions = javaType.statelessCustomActions().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.networkfirewall.kotlin.outputs.FirewallPolicyCustomAction.Companion.toKotlin(args0)
})
}),
statelessDefaultActions = javaType.statelessDefaultActions().map({ args0 -> args0 }),
statelessFragmentDefaultActions = javaType.statelessFragmentDefaultActions().map({ args0 ->
args0
}),
statelessRuleGroupReferences = javaType.statelessRuleGroupReferences().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.networkfirewall.kotlin.outputs.FirewallPolicyStatelessRuleGroupReference.Companion.toKotlin(args0)
})
}),
tlsInspectionConfigurationArn = javaType.tlsInspectionConfigurationArn().map({ args0 ->
args0
}).orElse(null),
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy