Нацеливание на миньоны
Требуемые условия завершения
1. Простые цели
1.1. Подстановки (GLOBBING)
Тип сопоставления, используемый в Salt по умолчанию – подстановочные (glob-) выражения (shell-style globbing). Glob-выражения интерпретируются так же, как в командной оболочке Linux (bash).
Внимание!
В вызовах Salt подстановки необходимо заключать в одинарные кавычки, чтобы командная оболочка не выполняла разбор подстановки до вызова Salt.
Символ * можно просто экранировать (комбинация \* корректно сработает).
В вызовах 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-выражением. Он вычисляется не как выражение, а как просто часть имени хоста.
В SaltStack символ ‘.’ не является glob-выражением. Он вычисляется не как выражение, а как просто часть имени хоста.
Примеры:
1. Проверка доступности миньонов:
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