A instrução case
do Puppet pode avaliar expressões e executará a primeira associada ao primeiro caso correspondente.
Não é bem assim:
case $mem {
0..1023: { $retvalue = "128M" }
1024..6999: { $retvalue = "160M" }
7000...14999: { $retvalue = "192M" }
15000..30999: { $retvalue = "256M" }
default: { $retvalue = "512M" }
}
No entanto, você pode dar expressões e dizer que corresponde ao primeiro que é true
.
Então você pode fazer isso:
case true {
$mem < 1024: { $retvalue = "128M" }
$mem < 7000: { $retvalue = "160M" }
$mem < 15000: { $retvalue = "192M" }
$mem < 31000: { $retvalue = "256M" }
default: { $retvalue = "512M" }
}
Da mesma forma, você pode usar um seletor para retornar o valor correto:
$retvalue = true ? {
$mem < 1024 => "128M",
$mem < 7000 => "160M",
$mem < 15000 => "192M",
$mem < 31000 => "256M",
default => "512M",
}