Рекомендуемый подход в этом случае заключается в использовании легкого поставщика ресурсов или подобного.
Я думаю, что когда runlist сходится, он дедуплирует любые рецепты, поэтому, если у вас было 6 ролей, включая один и тот же рецепт, и добавили каждую роль в список выполнения, он только на самом деле запустил этот рецепт один раз.
Seems like someone asked opscode this before
Краткое введение в LWRP можно найти here, Althought, которое более чем выполнение создания нового.
В этом случае, если у вас есть LWRP, вы можете создать один рецепт, который вызывает его несколько раз или отдельные рецепты для каждого вызова.
Возможно, вы захотите использовать иерархию данных модели узла, чтобы построить какой-то объект, который представляет экземпляры, которые вы хотите запустить, и зацикливать его таким образом.
Я использовал определения, но также рассмотрю LWRP. Спасибо. – amorfis
Не проблема, мы сделали это для установки некоторых наших внутренних продуктов. Был выполнен набор общих шагов, которые нам нужно было сделать для каждого из них, поэтому мы определили ресурс, определяющий параметры, которые мы хотели бы изменить, а затем определили действие: install и затем получили несколько рецептов, которые выполняют установите для нас. Мы сделали это, а не автоматическую установку многих объектов, чтобы обеспечить удобство чтения списков воспроизведения – PatrickWalker