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.