У меня есть переменная $IP = [ "91" , "92" ]
и $IPPriveeInstance = "10.248.33.$IP"
.
Как вы уже догадались, я хочу использовать эту переменную 2 раза, но когда я печатаю IPPriveeInstance
, Я получил результат как 10.248.33.9192.
Puppet не выполняет итерацию элементов массива. Пример ниже демонстрирует inline_template, но вы должны использовать настраиваемую функцию для выполнения этой задачи.
$ip = ['91', '92']
$address = '10.248.33.'
$array = inline_template("<%= ip.collect{|x| address+x.to_s} %>")
Вы также можете написать это через Ruby DSL: http://projects.puppetlabs.com/projects/1/wiki/Ruby_Dsl
Вы пытаетесь ссылаться на весь массив сразу, когда хотите, чтобы отдельные части массивов были отдельно. Попробуй это:
$IPPriveeInstance = "10.248.33.$IP[0]"
$IPPriveeInstance = "10.248.33.$IP[1]"
Первый индекс в массиве всегда равен нулю.