You need to put cf.preconf in /var/cfengine, not /var/cfengine/inputs as you might think.
CFEngine will skip the group/class when parsing unless you add it with AddInstallable.
We use:
LocateLineMatching "case \"\$ADDRESS\" in " BeginGroupIfNoLineMatching "\*,\*,\*,$(macAddrEth1)\)" ResetSearch "1" LocateLineMatching "case \"\$ADDRESS\" in" InsertLine "*,*,*,$(macAddrEth1))" InsertLine " IPADDR=\"$(ipAddrEth1)\"" # ... EndGroup
One page links to CFEngineNotes:
lib/main.php:944: Notice: PageInfo: Cannot find action page