【发布时间】:2021-10-14 12:59:06
【问题描述】:
我正在尝试创建以下资源:
resource "newrelic_alert_policy" "rpm_production_alert_policy" {
name = "RPM (Production) Alert Policy (Terraform)"
incident_preference = "PER_CONDITION"
}
resource "newrelic_alert_channel" "rpm_production_slack" {
name = "RPM Production Slack (Terraform)"
type = "slack"
config {
channel = "rpm-terrarelic"
url = "URLGOESHERE (obfuscated)"
}
}
resource "newrelic_alert_policy_channel" "rpm_production_alert_policy_slack" {
policy_id = newrelic_alert_policy.rpm_production_alert_policy.id
channel_ids = [
newrelic_alert_channel.rpm_production_slack.id
]
}
resource "newrelic_nrql_alert_condition" "median_duration" {
policy_id = newrelic_alert_policy.rpm_production_alert_policy.id
name = "median_duration"
description = "Alert when transactions are taking too long (this is a test description)"
nrql {
query = "SELECT median(duration) from Transaction where team = 'rpm' facet name since 1 month ago limit 500"
evaluation_offset = 3
}
critical {
operator = "above"
threshold = 2
threshold_duration = 60
threshold_occurrences = "AT_LEAST_ONCE"
}
violation_time_limit_seconds = 3600
value_function = "single_value"
}
当我注释掉 newrelic_nrql_alert_condition 资源并使用我的 New Relic API 密钥和 -var-file 标志运行 terraform apply 时,资源已成功创建。但是当我取消注释 newrelic_nrql_alert_condition 资源并重新运行命令时,我收到以下错误:
newrelic_nrql_alert_condition.median_duration: Creating...
╷
│ Error: Validation Error
│
│ with newrelic_nrql_alert_condition.median_duration,
│ on foobar.tf line 22, in resource "newrelic_nrql_alert_condition" "median_duration":
│ 22: resource "newrelic_nrql_alert_condition" "median_duration" {
│
╵
最后一行 (22: resource "newrelic_nrql_alert_condition" "median_duration" {) 中的 { 带有下划线,表示这是验证错误所在,但我看不出此资源语句与具有不同值的相同资源语句之间有任何偏差诸如nrql.query 之类的关键字,因此错误消息表面上看起来并没有太大帮助。
我为资源的 name 参数尝试了不同的值,认为 New Relic 中的警报条件可能存在唯一性约束,但这不起作用。
我尝试将有问题的资源块移动到文件的顶部,以防错误是文件中早期语法问题的红鲱鱼,但随后我看到了相同的错误消息,但引用了第 1 行第 22 行。这告诉我问题确实出在这个资源块上,并且错误不是红鲱鱼。
我在 Google 上搜索了可以解释不同类型的验证错误的文档,但我找不到任何文档。
谁能看到我在这里做错了什么?
编辑:
当我为此模块运行terraform validate 时,我收到消息Success! The configuration is valid.。
【问题讨论】:
-
执行
plan时会不会出现同样的错误?