匹配多个事件
在一个规则中,您可以匹配来自同一来源的一个或多个事件。一旦所有事件都匹配,它就会执行操作。两个额外的变量被传递到 playbook 中
事件
事实
示例
condition:
all:
- event.i == 1
- event.i == 2
传递到 playbook 中的变量将具有以下值
{
"variables": {
"events": {
"m_0": {
"i": 1
},
"m_1": {
"i": 2
}
},
"facts": {
"m_0": {
"i": 1
},
"m_1": {
"i": 2
}
}
}
}
带赋值的示例
condition:
all:
- events.first << event.i == 1
- events.second << event.i == 2
传递到 playbook 中的变量将具有以下值
{
"variables": {
"events": {
"first": {
"i": 1
},
"second": {
"i": 2
}
},
"facts": {
"first": {
"i": 1
},
"second": {
"i": 2
}
}
}
}
备注
相同的事件表达式不能使用多次。在下面的例子中,event.i == 1
已被使用两次,因此它不会匹配任何内容
condition:
all:
- events.first << event.i == 1
- event.i == 1
在下面的例子中,event.i == 2 已被使用两次,因此它不会匹配任何内容
condition:
all:
- events.saveme << event.i == 2 and event.i > 0
- event.i == 2
一旦一个事件匹配,它就会被移除,并且不会匹配任何后续条件。这种情况将有效,因为事件表达式不同
condition:
all:
- events.saveme << event.i == 2 and event.i > 0
- event.i == 0