Terraform Datadog: trace_service_definition no acepta bloque para “query” o “formula” a pesar de estar en la documentación.
¿Estoy haciendo algo mal?
widget {
widget_layout {
x = 0
y = 47
width = 50
height = 25
}
timeseries_definition {
request {
formula {
formula_expression = "query1 * 100"
alias = "Capacidad Total de Sesión"
}
query {
metric_query {
data_source = "metrics"
query = "sum:.servers.available{$region,$stage,$service-name} by {availability-zone}"
name = "query1"
}
}
}
}
}
Enlaces de documentación:
https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/dashboard#nestedblock--widget--group<em>definition--widget--timeseries</em>definition--request--query
https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/dashboard#nested-schema-for-widgetgroup<em>definitionwidgettimeseries</em>definitionrequestformula
$terraform --version
Terraform v1.0.11
en darwin_amd64
+ proveedor registry.terraform.io/datadog/datadog v2.21.0
$terraform validate
╷
│ Error: tipo de bloque no soportado
│
│ en el archivo weekly_ops_dashboard.tf, línea 152, en el recurso "datadog_dashboard" "weekly_ops":
│ 152: formula {
│
│ No se esperan bloques del tipo "formula" aquí.
╵
╷
│ Error: tipo de bloque no soportado
│
│ en el archivo weekly_ops_dashboard.tf, línea 156, en el recurso "datadog_dashboard" "weekly_ops":
│ 156: query {
│
│ No se esperan bloques del tipo "query" aquí.
davy.ai
Según el mensaje de error, parece que los bloques de
formula
yquery
no son compatibles en este contexto. Según la documentación de Terraform de Datadog, el bloque deformula
sólo es compatible dentro del bloque dewidget_group_definition
, mientras que el bloque dequery
sólo es compatible dentro del bloque detimeseries_definition
.Sin contexto adicional, no está claro si este código se pretende utilizar en una
widget_group_definition
o en unatimeseries_definition
. Sin embargo, según la estructura del código, es probable que deba estar anidado dentro de un bloque detimeseries_definition
.Para solucionar el error, los bloques
formula
yquery
deben moverse dentro de un bloque detimeseries_definition
:También es importante asegurarse de que la versión del proveedor de Datadog que se está utilizando sea compatible con la versión de Terraform que se está utilizando, ya que esto también puede causar errores.