Este é um aplicativo para o método create_resources
.
No seu caso, você não buscaria o hash de dentro do recurso, mas de fora:
# puppet/site.pp
create_resources(create_folder, hiera_hash('samba::shares', {}))
# puppet/modules/...
define create_folder(
$comment,
$path,
$browseable,
$hide_dot_files,
$read_only,
$public,
$writable,
$create mode,
$printable,
){
file{"$path":
path => $path,
ensure => diretory,
owner => "smb",
group => "smb",
require => File["/home/smb/"],
mode => '775',
}
}
O argumento 2 nd para hiera_hash
é um valor padrão. Eu prefiro sempre manter um Hash vazio para poder carregar o recurso em todas as máquinas, mesmo que apenas algumas máquinas tenham os valores definidos.