ファイル(/ usr/local/bin/papply)が存在しない場合のみ、次のコマンドを実行します。そこに何を置くかわからない。
exec { 'git add url':
command =>'git remote add Origin https://github.com/testing/puppet.git',
require => Exec['git init'],
cwd => '/home/vagrant/Django',
user => 'vagrant',
onlyif => "not sure what to put here"
}
これを試しましたか?
onlyif => "test ! -f /usr/local/bin/papply"
Puppetが「!」を使用できるかどうかわからないキャラクター
おそらくより良い代替手段:
creates => '/usr/local/bin/papply'
コマンドが実際にファイルを作成しないという事実が気に入らなくても
Linuxを使用している場合は、
unless => 'ls /somefile'
lsは、ファイルが存在しない場合、ゼロ以外の戻りコードで戻ります。ただし、テストでゼロ以外の戻りコードが返された場合、実行中のexecのみを実行させない限り、.
Linuxとパペット> 3.8で試してください:
exec { 'test':
command => '/bin/echo HI',
unless => 'test -f /a/file.txt',
}
execは、/a/file.txt
が存在します。
この目的のために存在する creates の使用を検討してください。
exec { 'git add url':
command => 'git remote add Origin https://github.com/testing/puppet.git',
creates => '/usr/local/bin/papply'
}