I am not sure what you're doing worng. The following bundle works just fine
for me... I did "cf-agent -Kb foo -f ./justin.cf"
-Dan
bundle agent foo {
vars:
"logs" slist => { "foo", "bar", "gar-bletch" };
"canonified[$(logs)]" string => canonify("$(logs)");
classes:
"$(canonified[$(logs)])_exists" expression => fileexists("/var/adm/$(logs)")
;
reports:
cfengine_3::
"$(canonified[$(logs)])_exists";
}
> FWIW, I just found out that this does not work:
>
> vars:
> "logs" slist => { "foo", "bar" };
> "canonified[$(logs)]" string => canonify("$(logs)");
>
> classes:
> "$(canonified[$(logs)])_exists" expression =>
> fileexists("/var/adm/$(logs)");
>
> It gives the same error about illegal characters.
>
> Justin
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Justin Lloyd
> Sent: Monday, May 17, 2010 12:25 PM
> To: [email protected]
> Subject: Problem defining classes from an slist
>
> I have an slist variable, named "logs", of logfile names and just ran
> into a problem when I added a filename with a hyphen in it, breaking
> this classes promise:
>
> "$(logs)_exists" expression => fileexists("/var/adm/$(logs)");
>
> Running cf-promises on the .cf file returns the following message:
>
> !! Class identifier "syslog-ng_exists" contains illegal characters
>
> Since canonify and classify can only be used on the right-hand side of a
> class definition, I'm not sure how to cleanly allow for filenames with
> characters that cannot appear in classes. (FWIW, I am defining whether
> each file in the slist exists to know whether I need to rotate the
> file.)
>
> Any suggestions?
>
> Thanks,
> Justin
>
> --
> Justin C. Lloyd
> Unix Infrastructure Engineer
> DigitalGlobe, An Imaging and Information Company
>
>
>
> This electronic communication and any attachments may contain
> confidential and proprietary
> information of DigitalGlobe, Inc. If you are not the intended recipient,
> or an agent or employee
> responsible for delivering this communication to the intended recipient,
> or if you have received
> this communication in error, please do not print, copy, retransmit,
> disseminate or
> otherwise use the information. Please indicate to the sender that you
> have received this
> communication in error, and delete the copy you received. DigitalGlobe
> reserves the
> right to monitor any electronic communication sent or received by its
> employees, agents
> or representatives.
>
> _______________________________________________
> Help-cfengine mailing list
> [email protected]
> https://cfengine.org/mailman/listinfo/help-cfengine
> _______________________________________________
> Help-cfengine mailing list
> [email protected]
> https://cfengine.org/mailman/listinfo/help-cfengine
_______________________________________________
Help-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/help-cfengine