#+begin_src cfengine3
bundle common g
{
  vars:

      "array[key1]" string => "one";
      "array[key2]" string => "two";
}

bundle agent __main__
{
  vars:
      "thing[1][color]" string => "red";
      "thing[1][name]" string => "one";
      "thing[2][color]" string => "blue";
      "thing[2][name]" string => "two";

      "_thing_idx"
        slist => sort( getindices( thing ), lex );

  reports:

      "Keys in default:g.array = $(with)"
        with => join( ", ", sort( getindices( "default:g.array" ), lex));

      "Keys of default:main.thing[1] = $(with)"
        with => join( ", ", sort( getindices( "default:main.thing[1]" ), lex));

      "Thing $(thing[$(_thing_idx)][name]) is $(thing[$(_thing_idx)][color])";
}
#+end_src
###############################################################################
#+begin_src example_output
#@ ```
#@ R: Keys in default:g.array = key1, key2
#@ R: Keys of default:main.thing[1] = color, name
#@ R: Thing one is red
#@ R: Thing two is blue
#@ ```
#+end_src
