I'd like to provide more complete solution although @MaksaSila did answer first.
You just need a cmd.run that'll handle file change, I'm using similar approach:
# sample.sls
systemd-reload:
cmd.run:
- name: systemctl --system daemon-reload
- onchanges:
- file: superbar.service
superbar.service:
file.managed:
- name: /etc/systemd/system/superbar.service
superfoo.service:
file.managed:
- name: /etc/systemd/system/superfoo.service
- onchanges_in:
- cmd: systemd-reload
The latter approach will allow you to split the systemd part and the service part into different SLS files (don't forget to include systemd for every sls file you do onchanges_in
in).
See this manual page to get more details on the state relations and dependencies.