These states will run in the order they are defined in the file by default. However, we can also affect the ordering using requisites. Requisites allow us to create dependencies and interactions between our states.
The most basic requisite is require
, which allows you to specify that one state requires another state to be run successfully first. Make sure that you note both purposes—the require
requisite both ensures correct ordering and ensures that the requiring states run only if the required state ran successfully.
In this case, we want to make sure that apache
is installed before we try to run it. So, we will add a require
requisite declaration under our service.running
state, as shown here:
install_apache: pkg.installed: - name: apache2 make sure apache is running: service.running: - name: apache2 - enable: True - require: - pkg: install_apache
Note that we must specify both the state module pkg
and the state...