I am using the new template functionality in 3.3.0 and using a default set of variables and can override them. But my set of variables are list and strings. For strings it is easy but what about lists?

Here is an example of what i am trying to accomplish. cfg[ldap_servers] is a slist and want to override the default value. In my real world i have more slists variables.
{{{
body common control
{
bundlesequence => { "test" };

inputs => { "cfengine_stdlib.cf" };
}

bundle agent template(params)
{
    vars:
        any::
            # An array of configuration parameters used in template files
            #
            "cfg[ldap_servers]"      slist   => { "cua.irc.sara.nl", 
"ldap.cua.sara.nl" },
                policy => "overridable";

            "cfg[ldap_base]"        string  => "dc=hpcv,dc=sara,dc=nl",
                policy => "overridable";
            "cfg[ldap_user]"        string  => "ou=Users,dc=hpcv,dc=sara,dc=nl";
            "cfg[ldap_group]"       string  => 
"ou=Groups,dc=hpcv,dc=sara,dc=nl";
            "cfg[ldap_netgroup]"    string  => 
"ou-Netgroups,dc=hpcv,dc=sara,dc=nl";
            "cfg[cacert_file]"      string  => 
"/etc/ssl/certs/ca-certificates.crt";


            # Copy configuration parameters passed, into a local array
            "param_keys" slist => getindices("$(params)");
            "cfg[$(param_keys)]" string => "$($(params)[$(param_keys)])",
                policy => "overridable";

    reports:
        debian::
            "bas params array $(param_keys)";
            "bas string $(cfg[ldap_base])";
            "bas string $(cfg[ldap_user])";
            "bas list $(cfg[ldap_servers])";
}


bundle agent test
{

vars:
    any::
        "varray[ldap_servers]"  slist =>  { "A", "B", "C" };
        "varray[ldap_base]"  string =>  "jaap";

methods:

    "template"  usebundle => template("test.varray");
}

--
********************************************************************
*  Bas van der Vlies                    e-mail: b...@sara.nl       *
*  SARA - Academic Computing Services   Amsterdam, The Netherlands *
********************************************************************

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to