Я впервые пытаюсь использовать хэш в марионетке, поэтому в моем node.pp я собираюсь использовать это:
node test1.example.com {
netset::int::vconf {"servers" :
label1 => { 'comment' => 'VIP Test1', 'ipaddress' => '192.168.1.10', 'netmask' => '255.255.255.0', 'int_label' => 'TEST1' },
label2 => { 'comment' => 'VIP Test2', 'ipaddress' => '192.168.1.11', 'netmask' => '255.255.255.0', 'int_label' => 'TEST2' },
}
}
В файле /etc/puppet/modules/netset/int/vconf.pp, который я пишу, я создаю определенный тип:
define netset :: int :: vconf ($ comment, $ ipaddress) {... сделать что-нибудь ...}
Мой вопрос: как передать каждый ключ хэшей определенному типу? Как-то я воображаю, что мне придется где-то создать петлю, любая помощь будет большим подспорьем.
Спасибо Дэн
Я считаю, что вы неправильно это определяете.
Если у вас есть:
define netset::int::vconf( $comment='', $ipaddress='' ) {
.....
}
тогда вы должны определить несколько экземпляров с помощью
netset::int::vconf {
label1: comment=>"comment1", ipaddress=>"192.168.1.1";
label2: comment=>"comment2", ipaddress=>"192.168.2.2";
}
куда label1
и label2
являются namevar. Обратите внимание на конечную точку с запятой между определениями.