问题描述
我将pagerduty_ruleset_rule资源与count
结合使用来创建多个PagerDuty规则。每个规则都是根据count.index
地图列表中的services
设计的。
变量定义-services
地图列表(以var.services
形式传递):
variable "services" {
type = list(object({ id = string,service_tags = list(string) }))
description = "List of service IDs and tags to route events to"
}
资源定义-pagerduty_ruleset_rule
:
resource "pagerduty_ruleset_rule" "rule" {
count = length(var.services)
ruleset = pagerduty_ruleset.custom_ruleset.id
position = count.index
disabled = false
conditions {
operator = "or"
subconditions {
operator = "contains"
parameter {
path = "payload.group"
value = "service:${var.services[count.index].service_tags[0]}"
}
}
subconditions {
operator = "contains"
parameter {
path = "payload.group"
value = "service:${var.services[count.index].service_tags[1]}"
}
}
}
actions {
route {
value = var.services[count.index].id
}
}
}
请注意,对于subconditions
中的每个元素,我如何有单独的service_tags
映射。
是否有一种基于subconditions
列表的大小动态创建service_tags
映射的方法?
在上面的代码段中,我假设列表的大小为2(索引[0]
和[1]
),但是我希望它是动态的-数量为{{ 1}}等于subconditions
列表的大小。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)