Você pode usar o ensure_resource () no módulo stdlib :
$packages = $::osfamily ? {
'Debian' => [ 'fcgiwrap', ],
'RedHat' => [ 'spawn-fcgi', 'git' ],
}
ensure_resource('package', $packages, {'ensure' => 'present'})
Então, digamos, se o git já estiver instalado por alguma outra classe, isso seria ignorado. Você não deve se preocupar em definir um pacote apenas uma vez durante a configuração do boneco.