Você sempre pode usar $hostname
ou $certname
para lidar com a exceção:
file { "/var/username":
mode => 440,
ensure => $hostname ? {
'oddballserver' => link,
default => directory,
},
target => $hostname ? {
'oddballserver' => '/data/username',
}
Isso não foi testado, mas baseado na lógica que uso para uma variedade de coisas em nossos manifestos. YMMV.