exec "exec1" { cmd => "/usr/bin/python", # args can be specified as a list of strings when not using shell param args => ["-c", "print(\"i'm in python!\")",], } file "/tmp/whatever" { state => $const.res.file.state.exists, } exec "exec2" { cmd => "echo hello world > /tmp/whatever", shell => "/bin/bash", ifcmd => "! diff <(cat /tmp/whatever) <(echo hello world)", ifshell => "/bin/bash", watchcmd => "/usr/bin/inotifywait -e modify -m /tmp/whatever", Depend => File["/tmp/whatever"], # so that inotifywait can startup }