Saltstack dışındaki tüm hedefleri düzenli ifade


1

Biri dışında her köseyi hedef almak için tuzlu regex kullanmakta sorun yaşıyorum.

Sınırlı Perl regex anlayışımı bulabildiğim ve tükettiğim her örneği denedim. Bunun her köleyi hedef almasını bekliyorum (hepsi birşeyler.etkialani.com.tr):

^(?!.*mail).*$

Ancak sıfır değer döndürür.

Herhangi bir yardım çok takdir edilecektir


İhtiyaçların benim için çok açık değil ... Eşleştirmek istediğin ve eşleştirmek istemediğin şeylerin örnekleri var mı?
— Jerry

Üzgünüm Jerry, mail.domain.co.uk dışındaki herşeyle eşleşmek istiyorum. Diğer sunucular web.domain.co.uk, edi.domain.co.uk, forum.domain.co.uk, vb.
— Paul Whalley

Tamam, -Eseçeneği kullanıyor musun?
— Jerry

Bir -E seçeneğinin farkında değildim. "Salt -E '^ (?!. * Mail). * $' Test.ping" çalıştırılması doğru köleleri döndürür. Ama buna top.sls dosyasına ihtiyacım var, -E'yi ekleyebilir miyim?
— Paul Whalley

1
İhtiyacı olan her şeye bir cevap verebilirsin. Kendi sorunuza cevap vermek sorun değil :)
— Jerry

Yanıtlar:



0

PCRE Minion_ID Bileşik Eşleştirici tarafından gösterilen E@, istediğiniz şeydir.

Minionları komut satırında hedeflerken:

salt -C 'E@^(foo|bar)$' test.ping

Veya üst dosyada:

base:
  'E@^(?!.*mail).*$':
    - match: compound

Evet, saf minion_id regex için öncüyü kullanabilir salt -E 'regex'veya - match: pcreatlayabilirsiniz E@, ancak birden fazla eşleştiriciyi (PCRE, cidr ip bloğu, vb.) Zincirlemek oldukça etkileyici olabilir:

 salt -C 'G@os:(Ubuntu|Debian) and G@domain:example\.(com|net) and E@^(?!.*mail).*$'
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.