No Chef, existem algumas técnicas de ferramentas que você pode usar para realizar isso, no entanto, acho que a solução que você está procurando não é baseada em código / sintaxe. Eu acho que aqui você quer encapsular o código repetitivo dentro de uma ou mais receitas (se for mais do que uma, agrupe-as dentro de uma função). Em seguida, para todas as chamadas de instalação, aproveite as cláusulas comuns not_if / only_if para instalar apenas sob certas condições.
Documentos: link
Outra maneira de fazer isso é um pouco mais dolorosa, mas fornecer uma árvore de código-fonte mais limpa é alavancar as malas de dados. configure os pacotes de dados estruturados simples json para cada usuário para o qual você deseja instalar, depois, em sua receita, percorra os itens no data bag e aplique sua lógica.
Documentos: link