![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.awsnative.wafv2.kotlin.inputs.WebAclVisibilityConfigArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.wafv2.kotlin.inputs
import com.pulumi.awsnative.wafv2.inputs.WebAclVisibilityConfigArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* Visibility Metric of the WebACL.
* @property cloudWatchMetricsEnabled Indicates whether the associated resource sends metrics to Amazon CloudWatch. For the list of available metrics, see [AWS WAF Metrics](https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html#waf-metrics) in the *AWS WAF Developer Guide* .
* For web ACLs, the metrics are for web requests that have the web ACL default action applied. AWS WAF applies the default action to web requests that pass the inspection of all rules in the web ACL without being either allowed or blocked. For more information,
* see [The web ACL default action](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-default-action.html) in the *AWS WAF Developer Guide* .
* @property metricName A name of the Amazon CloudWatch metric dimension. The name can contain only the characters: A-Z, a-z, 0-9, - (hyphen), and _ (underscore). The name can be from one to 128 characters long. It can't contain whitespace or metric names that are reserved for AWS WAF , for example `All` and `Default_Action` .
* @property sampledRequestsEnabled Indicates whether AWS WAF should store a sampling of the web requests that match the rules. You can view the sampled requests through the AWS WAF console.
* > Request sampling doesn't provide a field redaction option, and any field redaction that you specify in your logging configuration doesn't affect sampling. The only way to exclude fields from request sampling is by disabling sampling in the web ACL visibility configuration.
*/
public data class WebAclVisibilityConfigArgs(
public val cloudWatchMetricsEnabled: Output,
public val metricName: Output,
public val sampledRequestsEnabled: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.wafv2.inputs.WebAclVisibilityConfigArgs =
com.pulumi.awsnative.wafv2.inputs.WebAclVisibilityConfigArgs.builder()
.cloudWatchMetricsEnabled(cloudWatchMetricsEnabled.applyValue({ args0 -> args0 }))
.metricName(metricName.applyValue({ args0 -> args0 }))
.sampledRequestsEnabled(sampledRequestsEnabled.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [WebAclVisibilityConfigArgs].
*/
@PulumiTagMarker
public class WebAclVisibilityConfigArgsBuilder internal constructor() {
private var cloudWatchMetricsEnabled: Output? = null
private var metricName: Output? = null
private var sampledRequestsEnabled: Output? = null
/**
* @param value Indicates whether the associated resource sends metrics to Amazon CloudWatch. For the list of available metrics, see [AWS WAF Metrics](https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html#waf-metrics) in the *AWS WAF Developer Guide* .
* For web ACLs, the metrics are for web requests that have the web ACL default action applied. AWS WAF applies the default action to web requests that pass the inspection of all rules in the web ACL without being either allowed or blocked. For more information,
* see [The web ACL default action](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-default-action.html) in the *AWS WAF Developer Guide* .
*/
@JvmName("xkjtumbouxtwkbal")
public suspend fun cloudWatchMetricsEnabled(`value`: Output) {
this.cloudWatchMetricsEnabled = value
}
/**
* @param value A name of the Amazon CloudWatch metric dimension. The name can contain only the characters: A-Z, a-z, 0-9, - (hyphen), and _ (underscore). The name can be from one to 128 characters long. It can't contain whitespace or metric names that are reserved for AWS WAF , for example `All` and `Default_Action` .
*/
@JvmName("bhuiduekfwqvscuc")
public suspend fun metricName(`value`: Output) {
this.metricName = value
}
/**
* @param value Indicates whether AWS WAF should store a sampling of the web requests that match the rules. You can view the sampled requests through the AWS WAF console.
* > Request sampling doesn't provide a field redaction option, and any field redaction that you specify in your logging configuration doesn't affect sampling. The only way to exclude fields from request sampling is by disabling sampling in the web ACL visibility configuration.
*/
@JvmName("jnwptripubwcnogv")
public suspend fun sampledRequestsEnabled(`value`: Output) {
this.sampledRequestsEnabled = value
}
/**
* @param value Indicates whether the associated resource sends metrics to Amazon CloudWatch. For the list of available metrics, see [AWS WAF Metrics](https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html#waf-metrics) in the *AWS WAF Developer Guide* .
* For web ACLs, the metrics are for web requests that have the web ACL default action applied. AWS WAF applies the default action to web requests that pass the inspection of all rules in the web ACL without being either allowed or blocked. For more information,
* see [The web ACL default action](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-default-action.html) in the *AWS WAF Developer Guide* .
*/
@JvmName("fwjaosgbrucxemdt")
public suspend fun cloudWatchMetricsEnabled(`value`: Boolean) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.cloudWatchMetricsEnabled = mapped
}
/**
* @param value A name of the Amazon CloudWatch metric dimension. The name can contain only the characters: A-Z, a-z, 0-9, - (hyphen), and _ (underscore). The name can be from one to 128 characters long. It can't contain whitespace or metric names that are reserved for AWS WAF , for example `All` and `Default_Action` .
*/
@JvmName("vyvgabcqcwasutxw")
public suspend fun metricName(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.metricName = mapped
}
/**
* @param value Indicates whether AWS WAF should store a sampling of the web requests that match the rules. You can view the sampled requests through the AWS WAF console.
* > Request sampling doesn't provide a field redaction option, and any field redaction that you specify in your logging configuration doesn't affect sampling. The only way to exclude fields from request sampling is by disabling sampling in the web ACL visibility configuration.
*/
@JvmName("fdpsemvhbihvndww")
public suspend fun sampledRequestsEnabled(`value`: Boolean) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.sampledRequestsEnabled = mapped
}
internal fun build(): WebAclVisibilityConfigArgs = WebAclVisibilityConfigArgs(
cloudWatchMetricsEnabled = cloudWatchMetricsEnabled ?: throw
PulumiNullFieldException("cloudWatchMetricsEnabled"),
metricName = metricName ?: throw PulumiNullFieldException("metricName"),
sampledRequestsEnabled = sampledRequestsEnabled ?: throw
PulumiNullFieldException("sampledRequestsEnabled"),
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy