
Result of issue #52277 Any where `test.ping` still exists in the docs was left because of the context in those docs.
2.5 KiB
Matching the minion id
Each minion needs a unique identifier. By default when a minion
starts for the first time it chooses its FQDN (fully qualified domain name)
as that
identifier. The minion id can be overridden via the minion's id
configuration
setting.
Tip
minion id and minion keys
The minion id
is
used to generate the minion's public/private keys and if it ever changes
the master must then accept the new key as though the minion was a new
host.
Globbing
The default matching that Salt utilizes is shell-style globbing
<python2:fnmatch>
around the minion id
. This also works for states in the top file
.
Note
You must wrap salt
calls that use globbing in single-quotes to
prevent the shell from expanding the globs before Salt is invoked.
Match all minions:
salt '*' test.version
Match all minions in the example.net domain or any of the example domains:
salt '*.example.net' test.version
salt '*.example.*' test.version
Match all the webN
minions in the example.net domain
(web1.example.net
, web2.example.net
…
webN.example.net
):
salt 'web?.example.net' test.version
Match the web1
through web5
minions:
salt 'web[1-5]' test.version
Match the web1
and web3
minions:
salt 'web[1,3]' test.version
Match the web-x
, web-y
, and
web-z
minions:
salt 'web-[x-z]' test.version
Note
For additional targeting methods please review the compound matchers <targeting-compound>
documentation.
Regular Expressions
Minions can be matched using Perl-compatible regular expressions
<python2:re>
(which is globbing on steroids and a ton of
caffeine).
Match both web1-prod
and web1-devel
minions:
salt -E 'web1-(prod|devel)' test.version
When using regular expressions in a State's top file
, you must specify
the matcher as the first option. The following example executes the
contents of webserver.sls
on the above-mentioned
minions.
base:
'web1-(prod|devel)':
- match: pcre
- webserver
Lists
At the most basic level, you can specify a flat list of minion IDs:
salt -L 'web1,web2,web3' test.version