com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclVisibilityConfig.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.wafv2.kotlin.outputs
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
/**
* 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 WebAclVisibilityConfig(
public val cloudWatchMetricsEnabled: Boolean,
public val metricName: String,
public val sampledRequestsEnabled: Boolean,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.wafv2.outputs.WebAclVisibilityConfig): WebAclVisibilityConfig = WebAclVisibilityConfig(
cloudWatchMetricsEnabled = javaType.cloudWatchMetricsEnabled(),
metricName = javaType.metricName(),
sampledRequestsEnabled = javaType.sampledRequestsEnabled(),
)
}
}