У меня есть сценарий, в котором у меня есть 5 файлов шаблонов, которые нужно скопировать на машину марионеточного агента. И я хочу уведомить ресурс exec, если есть изменение в любом из файлов шаблона. Но ресурс exec нужно вызывать только один раз. То есть, если есть изменение в 2 или более файлах, то ресурс exec должен быть вызван только один раз. Я пробовал гуглить, но не смог найти способ добиться того же. Любые идеи?
Это нормальное поведение.
Каждый ресурс выполняется только один раз.
Например здесь:
exec { 'foo':
command => '/bin/echo x >> /tmp/foo',
refreshonly => true,
}
file { '/tmp/a':
ensure => file,
notify => Exec['foo'],
}
file { '/tmp/b':
ensure => file,
notify => Exec['foo'],
}
В exec
будет запускаться только один раз, даже если оба /tmp/a
и /tmp/b
не существует.
Но также обратите внимание, что здесь exec не будет запускаться, если оба /tmp/a
и /tmp/b
делать существуют (из-за refreshonly => true
параметр).