Dependency Model
When operating on system data, constraints and/or dependencies
present are:
- When enabling NIS, nis client must be enabled.
- Package XYZ requires user.
- When configuring PPP, select from list of configured
modems.
Some of these dependencies can be coded into the CLAM; some cannot.
COAS supports different mechanisms by which these can be implemented:
- Calling other CLAMs, e.g.,
call hardware.modem.selectModem().
- Action routines: these action routines can be tied to
individual data nodes and are invoked when committing data back to system files.
- Pre-commit verify (e.g., really delete this user abc?)
- Pre-commit actions (e.g., take removed IP interface down now?)
- Post-commit actions (e.g., populate home directory of new user)