Aqui está a solução:
$mule = "ipaddress_${name}"
$donkey = inline_template("<%= scope.lookupvar(mule) %>")
Aqui está um fato personalizado:
require 'etc'
Etc.passwd do |user|
Facter.add("homedir_#{user.name}".intern) do
setcode { user.dir }
end
end
Ele determina os locais do diretório inicial dos usuários.
Aqui está o tipo definido:
define ssh_keys::key ($user) {
$home = $::homedir_#{user}
if $home != undef {
file { "$home/.ssh/":
ensure => directory,
}
file { "$home/.ssh/authorized_keys":
ensure => file,
source => "puppet:///modules/ssh_keys/$user",
}
}
}
Ele não funciona com $::homedir_#{user}
, mas funciona com o fato exatamente definido: $::homedir_root
. O que está errado aqui?
Tags puppet