如何解决为列表中的每个元素添加单独的Terraform参数
我将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 举报,一经查实,本站将立刻删除。