General examples
Table of contents
Basic example
To get started with CFEngine, you can imagine the following template for entering examples. This part of the code is common to all the examples.
code
body common control
{
bundlesequence => { "main" };
inputs => { "$(sys.libdir)/stdlib.cf" };
}
bundle agent main
{
# example
}
The general pattern
The general pattern of the syntax is like this (colors in html version: red, CFEngine word; blue, user-defined word):
code
bundle component name(parameters)
{
what_type:
where_when::
## Traditional comment
"promiser" -> { "promisee1", "promisee2" },
comment => "The intention ...",
handle => "unique_id_label",
attribute_1 => body_or_value1,
attribute_2 => body_or_value2;
}
Hello world
code
body common control
{
bundlesequence => { "hello" };
}
bundle agent hello
{
reports:
linux::
"Hello world!";
}
Array example
code
body common control
{
bundlesequence => { "array" };
}
bundle common g
{
vars:
"array[1]" string => "one";
"array[2]" string => "two";
}
bundle agent array
{
vars:
"localarray[1]" string => "one";
"localarray[2]" string => "two";
reports:
linux::
"Global $(g.array[1]) and $(localarray[2])";
}