You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Terraform嵌套对象编写输出:告警策略conditions.name输出

正确的Terraform输出配置方案

假设你的告警策略资源定义示例如下:

resource "google_monitoring_alert_policy" "my_alert" {
  display_name = "My Alert Policy"
  # 其他基础配置...

  conditions {
    display_name = "High CPU Usage"
    # 该condition的具体规则配置...
  }

  conditions {
    display_name = "Low Disk Space"
    # 该condition的具体规则配置...
  }
}

要输出以display_name为键、自动生成的conditions.name为值的映射,在output.tf中添加以下配置:

output "alert_condition_name_map" {
  description = "映射告警条件的显示名称到其生成的唯一资源名称"
  value       = { for cond in google_monitoring_alert_policy.my_alert.conditions : cond.display_name => cond.name }
}

核心说明:

  • 利用Terraform的for表达式遍历告警策略的conditions列表,直接构建键值对映射。
  • 必须保证所有conditions的display_name唯一,否则会因键重复触发Terraform报错;若存在重名需求,需给display_name添加唯一标识后缀。
  • conditions.name属于Terraform apply后才会生成的属性,因此terraform plan阶段该输出会显示为(known after apply),属于正常情况。

如果你的告警策略资源名称不是my_alert,替换为实际的资源标识即可。

内容的提问来源于stack exchange,提问作者adithyar24200

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 08:30:37