Since Puppet 2.6.0 a new feature “relationship syntax” was introduced.
An example in Puppet 2.6.0 and above would look like this:
exec { "apt-update":
command => "/usr/bin/apt-get update"
}
Exec["apt-update"] -> Package <| |>
Every time a package command is executed, the dependency (in our case ‘apt-update’) will be triggered fist.
You can even define longer chains.