com.pulumi.awsnative.networkfirewall.kotlin.inputs.RuleGroupActionDefinitionArgs.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.inputs
import com.pulumi.awsnative.networkfirewall.inputs.RuleGroupActionDefinitionArgs.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.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property publishMetricAction Stateless inspection criteria that publishes the specified metrics to Amazon CloudWatch for the matching packet. This setting defines a CloudWatch dimension value to be published.
* You can pair this custom action with any of the standard stateless rule actions. For example, you could pair this in a rule action with the standard action that forwards the packet for stateful inspection. Then, when a packet matches the rule, Network Firewall publishes metrics for the packet and forwards it.
*/
public data class RuleGroupActionDefinitionArgs(
public val publishMetricAction: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.networkfirewall.inputs.RuleGroupActionDefinitionArgs =
com.pulumi.awsnative.networkfirewall.inputs.RuleGroupActionDefinitionArgs.builder()
.publishMetricAction(
publishMetricAction?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [RuleGroupActionDefinitionArgs].
*/
@PulumiTagMarker
public class RuleGroupActionDefinitionArgsBuilder internal constructor() {
private var publishMetricAction: Output? = null
/**
* @param value Stateless inspection criteria that publishes the specified metrics to Amazon CloudWatch for the matching packet. This setting defines a CloudWatch dimension value to be published.
* You can pair this custom action with any of the standard stateless rule actions. For example, you could pair this in a rule action with the standard action that forwards the packet for stateful inspection. Then, when a packet matches the rule, Network Firewall publishes metrics for the packet and forwards it.
*/
@JvmName("vydwagcyfpkbobcf")
public suspend fun publishMetricAction(`value`: Output) {
this.publishMetricAction = value
}
/**
* @param value Stateless inspection criteria that publishes the specified metrics to Amazon CloudWatch for the matching packet. This setting defines a CloudWatch dimension value to be published.
* You can pair this custom action with any of the standard stateless rule actions. For example, you could pair this in a rule action with the standard action that forwards the packet for stateful inspection. Then, when a packet matches the rule, Network Firewall publishes metrics for the packet and forwards it.
*/
@JvmName("qqafnvcemctpvkse")
public suspend fun publishMetricAction(`value`: RuleGroupPublishMetricActionArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.publishMetricAction = mapped
}
/**
* @param argument Stateless inspection criteria that publishes the specified metrics to Amazon CloudWatch for the matching packet. This setting defines a CloudWatch dimension value to be published.
* You can pair this custom action with any of the standard stateless rule actions. For example, you could pair this in a rule action with the standard action that forwards the packet for stateful inspection. Then, when a packet matches the rule, Network Firewall publishes metrics for the packet and forwards it.
*/
@JvmName("xntddmexepljuucj")
public suspend fun publishMetricAction(argument: suspend RuleGroupPublishMetricActionArgsBuilder.() -> Unit) {
val toBeMapped = RuleGroupPublishMetricActionArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.publishMetricAction = mapped
}
internal fun build(): RuleGroupActionDefinitionArgs = RuleGroupActionDefinitionArgs(
publishMetricAction = publishMetricAction,
)
}