Enquanto você poderia criar uma classe com parâmetros e, em seguida, passar uma matriz de nomes de arquivo para essa classe para usar como o nome do arquivo, eu sugeriria contra ela.
Modelos seriam uma abordagem muito melhor.
file {'/etc/sshd/conf':
content => template('foo/ssh-conf.erb'),
}
Então, quando você precisar fazer uma alteração, edite o modelo ssh-conf.erb e ele será enviado para todas as máquinas.
Em geral, declarações exec em fantoches devem ser usadas como último recurso. Os modelos de arquivos e os recursos do augeaus são muito mais simples e são igualmente poderosos.
Além disso, sugiro contra scripts gerenciando arquivos no git.