Someone more knowledgeable is surely welcome to correct me on this, but
I believe the requisite statements (require/watch/etc) are available to
all state functions - your issue is that this isn't correct salt'd
yaml.. it ought to be in the form:
/some/path:
file.exists:
- require:
- file: /some/other/path
note that you are not telling salt's file.exists() to check for
/some/other/path.. you are telling salt's state processing that THIS
file.exists state, with the name "/some/path" requires another _state_,
the file state with the _name_ /some/other/path - note that salt's state
module does not really see this as a _path_, but a name.
my general recommendation, if even more verbose (I care more for
consistency), is to use 'better' names for things, then put in a "name",
eg:
canonical_name:
file.exists:
- name: /some/path
- require:
- file: some_other_canonical_name
overall, (imho) you end up with more readable states that are less
prone to breakage - you can change the actual path to either of these
without doing more than updating one line, rather than having to run
through all the places where you have a requisite.
:)