#+begin_src cfengine3
bundle agent __main__
# @brief Example illustrating cosnt vars
{
  vars:
    "example_file" string => "/tmp/const-vars.txt";

  files:
    "$(example_file)"
      create => "true",
      content => concat(
        "CFEngine const vars$(const.n)",
        "before const.at $(const.at) after const.at$(const.n)",
        "before const.dollar $(const.dollar) after const.dollar$(const.n)",
        "before const.dirsep $(const.dirsep) after const.dirsep$(const.n)",
        "before const.linesep $(const.linesep) after const.linesep$(const.n)",
        "before const.endl$(const.endl) after const.endl$(const.n)",
        "before const.n$(const.n) after const.n$(const.n)",
        "before const.r $(const.r) after const.r$(const.n)",
        "before const.t $(const.t) after const.t$(const.n)"
      );

  reports:
    "const vars available: $(with)"
      with => storejson(variablesmatching_as_data("default:const\..*"));

    "$(example_file):" printfile => cat("$(example_file)");
}

body printfile cat(file)
# @brief Report the contents of a file
# @param file The full path of the file to report
{
  file_to_print => "$(file)";
  number_of_lines => "inf";
}

#+end_src
###############################################################################
#+begin_src example_output
#@ ```
#@ R: const vars available: {
#@       "default:const.at": "@",
#@       "default:const.dirsep": "/",
#@       "default:const.dollar": "$",
#@       "default:const.endl": "\n",
#@       "default:const.linesep": "\n",
#@       "default:const.n": "\n",
#@       "default:const.r": "\r",
#@       "default:const.t": "\t"
#@ }
#@ R: /tmp/const-vars.txt:
#@ R: CFEngine const vars
#@ R: before const.at @ after const.at
#@ R: before const.dollar $ after const.dollar
#@ R: before const.dirsep / after const.dirsep
#@ R: before const.linesep 
#@ R:  after const.linesep
#@ R: before const.endl
#@ R:  after const.endl
#@ R: before const.n
#@ R:  after const.n
#@ R: before const.r 
 after const.r
#@ R: before const.t 	 after const.t
#@ ```
#+end_src
