aws.cloudwatchlogs-metric-filter resource¶
Description¶
MetricFilter extracts metric observations from matching CloudWatch Logs events. PutMetricFilter is an upsert, so Create and Update use the same call and Read then returns the described server state. The filter name and log group name are the identity and force replacement; the pattern, transformed log flag, and single metric-transformation block update in place.
Source: internal/service/cloudwatchlogs/metric_filter_rsrc.go:40
Example usage:
imports: {
aws: 'github.com/cloudboss/unobin-library-aws'
}
resources: {
example: aws.cloudwatchlogs-metric-filter {
# Set input fields here.
}
}
Inputs¶
filter-name
string
log-group-name
string
filter-pattern
string
apply-on-transformed-logs
optional(boolean)
metric-transformation
object
object({
default-value: optional(number)
dimensions: optional(map(string))
metric-name: string
metric-namespace: string
metric-value: string
unit: optional(string)
})
Input Constraints¶
Metric transformation rules
metric-transformation unit must be a valid CloudWatch unit.
Rule logic
- When
input.metric-transformation.unit != null- Require
input.metric-transformation.unit == 'Seconds'
|| input.metric-transformation.unit == 'Microseconds'
|| input.metric-transformation.unit == 'Milliseconds'
|| input.metric-transformation.unit == 'Bytes'
|| input.metric-transformation.unit == 'Kilobytes'
|| input.metric-transformation.unit == 'Megabytes'
|| input.metric-transformation.unit == 'Gigabytes'
|| input.metric-transformation.unit == 'Terabytes'
|| input.metric-transformation.unit == 'Bits'
|| input.metric-transformation.unit == 'Kilobits'
|| input.metric-transformation.unit == 'Megabits'
|| input.metric-transformation.unit == 'Gigabits'
|| input.metric-transformation.unit == 'Terabits'
|| input.metric-transformation.unit == 'Percent'
|| input.metric-transformation.unit == 'Count'
|| input.metric-transformation.unit == 'Bytes/Second'
|| input.metric-transformation.unit == 'Kilobytes/Second'
|| input.metric-transformation.unit == 'Megabytes/Second'
|| input.metric-transformation.unit == 'Gigabytes/Second'
|| input.metric-transformation.unit == 'Terabytes/Second'
|| input.metric-transformation.unit == 'Bits/Second'
|| input.metric-transformation.unit == 'Kilobits/Second'
|| input.metric-transformation.unit == 'Megabits/Second'
|| input.metric-transformation.unit == 'Gigabits/Second'
|| input.metric-transformation.unit == 'Terabits/Second'
|| input.metric-transformation.unit == 'Count/Second'
|| input.metric-transformation.unit == 'None'
Outputs¶
filter-name
string
log-group-name
string
filter-pattern
string
apply-on-transformed-logs
boolean
metric-transformation
object
object({
default-value: optional(number)
dimensions: optional(map(string))
metric-name: string
metric-namespace: string
metric-value: string
unit: string
})