Classes may be defined as the result of actions being carried out by cfengine. For example, if a file gets copied, needs to be edited or if diskspace falls under a certain threshhold, cfengine can be made to respond by activating classes at runtime. This allows you to create dynamically responsive programs which react to the changing environment. These classes are defined as part of other statements with clauses of the form
define=classlist
Classes like these should generally be declared at the start of a program
unless the define
statements always precede the actions which
use the defined classes, with addinstallable
.