回答:
これを試しましたか?
onlyif => "test ! -f /usr/local/bin/papply"
Puppetが「!」を使用できるかどうかわからない キャラクター
おそらくより良い代替手段:
creates => '/usr/local/bin/papply'
コマンドが実際にファイルを作成しないという事実が気に入らなくても
Linuxを使用している場合は、
unless => 'ls /somefile'
lsは、ファイルが存在しない場合、ゼロ以外の戻りコードで戻ります。ただし、テストでゼロ以外の戻りコードが返された場合、実行中のexecのみを実行させない限り、
この目的のために存在するcreateの使用を検討することをお勧めします。
exec { 'git add url':
command => 'git remote add origin https://github.com/testing/puppet.git',
creates => '/usr/local/bin/papply'
}