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

Как мне потребовать массив ресурсов в марионетке?

В моем манифесте Puppet мне нужно выполнить команду, но только после того, как управляемый массивом коллекция другого исполнителя закончили. Вот так (псевдокод):

  define foo() {
    exec { "touch $name": }
  }

....
  {
    $bars = [ "a", "b", "c" ]
    foo { $bars : }
    exec { "echo Done" :
        require => [ Foo["a"], Foo["b"], Foo["c"] ]
    }
  }

Как реализовать ту же зависимость, что и указанную выше, без повторения каждого элемента списка $bars рукой?

Хорошо, неважно ... Очевидно, можно использовать тот же массив аргументов:

$bars = [ "a", "b", "c" ]
foo { $bars : }
exec { "echo Done" :
    require => [ Foo[$bars] ]
}