Відповіді:
Не таким чином. Ви можете створити вузол "за замовчуванням", який застосовуватиметься до будь-якого підписаного клієнта.
node "default" {
include foo
}
Але ти можеш мати лише 1 за замовчуванням. Якщо ви хочете скопіювати описану вами функціональність, ви можете скористатися методом external_nodes класифікації. В основному ви пишете сценарій, який повертає дійсний yaml, коли клієнт підключається. Цей сценарій може робити це будь-де, як вам завгодно, перевірити fqdn, запит на db, натисніть ldap тощо.
Трохи дистрибутивів на 0,25 станом на даний момент, тому в моєму Centos5, що має 2,24,8 від репортажу EPEL, мені довелося зробити щось подібне для моїх робочих вузлів з іменами хостів, як wn10.example.com:
node default {
$node_type = regsubst($hostname, '^([a-z]+).*$', '\1')
case $node_type{
wn: {include worker_node}
default: {include generic_node}
}
}