1. Простые цели

1.1. Подстановки (GLOBBING)

Тип сопоставления, используемый в Salt по умолчанию – подстановочные (glob-) выражения (shell-style globbing). Glob-выражения интерпретируются так же, как в командной оболочке Linux (bash).

Внимание!
В вызовах Salt подстановки необходимо заключать в одинарные кавычки, чтобы командная оболочка не выполняла разбор подстановки до вызова Salt.
Символ * можно просто экранировать (комбинация \* корректно сработает).

В таблице 1 приведены наиболее часто применяемые подстановочные выражения.

Таблица 1 – Подстановочные символы в glob-выражениях

Выражение Значение
*  Соответствует любой строке, включая пустую строку
?  Соответствует любому ОДНОМУ символу
[A-Z]
[1-20]
[A-Fa-f0-9]
 [ . - . ] - символ ’-‘ объявляет диапазон возможных значений. 
 Примеры:
 [A-Z] - любой символ в верхнем регистре от A до Z включительно.
 [A-Fa-f0-9] – под данное выражение попадают следующие значения   “ABCDEFabcdef0123456789”
[!][!W]in10  ! - совпадает с любым одиночным символом, не входящим в строку, входящую в   диапазон [! … ]
 Примеры:
 [!W]in10 – любой символ кроме W.

 

Важно!
В SaltStack символ ‘.’ не является glob-выражением. Он вычисляется не как выражение, а как просто часть имени хоста.

Примеры:

1. Проверка доступности миньонов:

salt '*' test.ping

Указанная команда выведет следующую информацию:

salt '*' test.ping

 

 

 

 

 

 

 

 

В данном примере мастером приняты публичные ключи миньонов altos , win10 и ключ миньона, работающего непосредственно на мастере – server-atomport .
Команда test.ping выполнилась на всех миньонах, публичные ключи которых приняты мастером.

2.    Выбрать все миньоны в домене example.net:

salt '*.example.net' test.ping 


3.    Выбрать все миньоны в доменах example.*

 salt '*.example.*' test.ping
 4.    Выбрать все миньоны по маске ’web?’ в домене example.net
( web1.example.net , web2.example.net … webN.example.net): 
salt 'web?.example.net' test.ping 

5.    Выбрать все миньоны с web1 по web5 :
salt 'web[1-5]' test.ping 

6.    Выбрать миньоны web1 и web3 :
salt 'web[1,3]' test.ping 

7.    Выбрать миньоны web-x , web-y и web-z :
salt 'web-[x-z]' test.ping