Terraform Datadog仪表盘formula/query块按文档配置仍报错问题
问题原因
你当前使用的datadog Terraform Provider 版本为 v2.21.0,该版本的datadog_dashboard资源中,timeseries_definition下的request块并不支持formula和query嵌套块。这两类块是 Datadog Provider v3.0.0 及以上版本才新增的功能,你参考的是最新版官方文档,和你使用的旧版本 provider 能力不匹配,因此触发了块类型不支持的报错。
解决方案
你可以二选一处理:
- 方案1:升级 Datadog Provider 到 v3.0.0 及以上版本
修改你的 provider 版本约束声明,示例如下:
之后执行terraform { required_providers { datadog = { source = "DataDog/datadog" version = "~> 3.0" } } }terraform init -upgrade完成 provider 版本升级,再执行terraform validate即可正常校验通过。 - 方案2:保留旧版本 provider,改用兼容的旧写法
不需要嵌套query和formula块,直接在request块下写查询参数,计算逻辑直接写入Datadog查询语句中,示例如下:timeseries_definition { request { q = "sum:.servers.available{$region,$stage,$service-name} by {availability-zone} * 100" alias = "Total Session Capacity" } }
内容的提问来源于stack exchange,提问作者funa68
相关产品推荐
相关产品推荐

