Você já tentou isso?
onlyif => "test ! -f /usr/local/bin/papply"
Não tenho certeza se o Puppet pode usar o '!' personagem
Talvez uma alternativa melhor:
creates => '/usr/local/bin/papply'
mesmo que eu não goste do fato de que o comando realmente não cria o arquivo