У меня есть данные hiera в марионетке следующим образом:
elasticsearch::cluster_name: 'elasticsearch-dev'
elasticsearch::masterlist: [ "elasticsearchdev01.domain.com", "elasticsearchdev02.domain.com", "elasticsearchdev03.domain.com" ]
elasticsearch::kibanalist: [ "kibanadev01.domain.com" ]
И мой манифест содержит это:
$masterlist = hiera('elasticsearch::masterlist')
$kibanalist = hiera('elasticsearch::kibanalist')
if ( $::fqdn in $masterlist ) or ( $::fqdn in $kibanalist ) {
$cluster_name = hiera('elasticsearch::cluster_name')
}
else {
notify { 'No cluster for node':
message => "${::fqdn} is not configured to be in any cluster in the hiera data",
}
}
Я хотел бы изменить это, чтобы разрешить настройку нескольких кластеров дляединая среда, и я не уверен, что это лучший способ реализовать это.Я хочу иметь возможность сгруппировать главные списки с соответствующими им именами кластеров, а затем вызвать соответствующее имя кластера для каждого узла.
Я думаю, что, возможно, мне нужно использовать массив хэшей и выполнить итерации по нему, ноЯ не знаю, как описать это в моем манифесте.