#+begin_src cfengine3
body common control
{
  bundlesequence => { "example" };
}

bundle agent example
{
  vars:
    "foo"
      data => '{ "bar": true }';
    "a"
      string => "hello";

  classes:
    "isdata"
      expression => is_type("foo", "data");
    "isdata_boolean"
      expression => is_type("foo[bar]", "data boolean");
    "isstring"
      expression => is_type("a", "string");
    "isint"
      expression => is_type("a", "int");

  reports:
    isdata::
	    "'foo' is of type 'data'";
    isdata_boolean::
	    "'foo[bar]' is of type 'data boolean'";
    isstring::
        "'a' is of type 'string'";
    isint::
	    "'a' is of type 'int'";
}

#+end_src
#############################################################################
#+begin_src example_output
#@ ```
#@ R: 'foo' is of type 'data'
#@ R: 'foo[bar]' is of type 'data boolean'
#@ R: 'a' is of type 'string'
#@ ```
#+end_src
