Você precisa de um seletor , que permitirá que você tenha um condicional dentro do recurso - ou defina um variável acima dela.
Aqui está o seletor:
file { '/etc/squid/squid.conf':
ensure => file,
source => $fact ? {
"foo" => 'puppet:///modules/1/squid.conf_1',
"bar" => 'puppet:///modules/1/squid.conf_2',
default => 'puppet:///modules/1/squid.conf_default',
},
}
Ou defina uma variável e use isso:
if $fact == "foo" {
$squidconf = 'puppet:///modules/1/squid.conf_1'
} else {
$squidconf = 'puppet:///modules/1/squid.conf_2'
}
file { '/etc/squid/squid.conf':
ensure => file,
source => $squidconf,
}
Existem outras variações, claro, veja o guia de idiomas vinculado acima e o tutorial do Puppet de aprendizado seção sobre variáveis.