Você pode fazer o que você está tentando com isso:
file { "/etc/someprogram/config":
ensure => directory,
recurse => remote,
source => "puppet:///modules/someprogram/files/$fqdn"
#Other options
}
Isto irá copiar todos os arquivos em $ fqdn para / etc / someprogram / config, sobrescrevendo se eles já existirem.