如何匹配那些没有特定风俗习惯的奴才?

时间:2019-09-07 08:29:23

标签: salt-stack salt

有些小兵的粮食像foo: bar,而另一些则没有。我该如何匹配那些没有foo的小兵?

我尝试过salt -G 'foo:'salt -P 'foo:^$',但它们都不起作用。

假设有3个仆从:

minion1:
    ----------
    foo: 
        bar
minion2:
    ----------
    foo: 
        baz
minion3:
    ----------
    foo:

minion1和minion2都具有foo颗粒,而minion3并未定义该颗粒。如何只匹配minion3?

1 个答案:

答案 0 :(得分:1)

您可以使用-PGrains PCRE):

salt -P 'foo:^(?!bar)'

Python docs for re模块说:

  

(?!...)

     

如果...下一个不匹配,则进行匹配。这是一个负面的前瞻   断言。例如,只有在以下情况下,艾萨克(?!Asimov)才会匹配“艾萨克”   后面没有“ Asimov”。

或仅使用compound否定匹配:

salt -C 'not G@foo:bar'