Назад | Перейти на главную страницу

Как сослаться на текущую итерацию хеш-цикла в марионетке

У меня есть такой хеш

net:ip { '':
ip => {
    ip1 => {
       addr => '192.168.10.1',
       device => 'eth0',
    },
    ip2 => {
      addr => '192.168.50.10',
      device => 'eth10',
    },
}
}

В моем манифесте я так называю

define net::ip (
$ip={},
) {
  ...
}

мой вопрос в том, как мне ссылаться на текущий цикл итерации хеширования. Я хочу иметь возможность использовать поле «dev» в этом манифесте, но поскольку у хеша есть ip1, ip2, я не могу сказать, на каком номере он находится?

Спасибо Дэн

Следующий пример может помочь. Создайте хэш отдельно и получите к нему доступ через определенный тип.

  $foo = [{"addr" => "bar", "port" => "1"},                                     
          {"addr" => "bat", "port" => "2"}]                                     
  testmod::bar {$foo:}                                                          
  define testmod::bar () {                                                      
    $var1 = $name["addr"]                                                       
    $var2 = $name["port"]                                                       
    notify {"${var1}_${var2}": }                                                
  }