define blah($ensure = present) {
if $ensure == "present" {
exec { do_something_to_make_it_be_here: }
} else {
exec { do_something_to_make_it_not_be_here: }
}
}
Para mais do que apenas garantir presente / ausente, você pode mudar para um caso na mesma veia. Não vá para as subclasses, porque, como você diz, elas perdem informações de dependência.