Chapter 8. Cfengine declarative language - grammar

At the highest level, the cfengine policy grammar has the following simple form:

rule-type:
[class-expression::] 
rule 1
rule 2
...
rule n

Example:

shellcommands:

    linux:: "/var/cfengine/inputs/sh/check_rpmforge_repo_is_installed_and_disabled.linux.sh" inform=off ifelapsed=2

The rule-types are known in Cfengine as "actionsequences". These are basically different modules of Cfengine dealing with different aspects of the UNIX operating system - files, disks, processes, packages, etc.