Yes, you can do it using the ifvarclass, which converts a variable to
a class.  Could you please read the ifvarclass section of the
reference manual, and let me know if you have any questions.

Best,
Aleksey


On Tue, Sep 13, 2011 at 11:13 AM, Jerome Yanga <jya...@esri.com> wrote:
> Is it possible to do what I am attempting to?
>
> Regards,
> j
>
> -----Original Message-----
> From: Jerome Yanga
> Sent: Monday, September 12, 2011 4:27 PM
> To: 'Aleksey Tsalolikhin'
> Cc: 'help-cfengine@cfengine.org'
> Subject: RE: CFEngine Help: how to convert vars to a class
>
> Aleksey,
>
> Thank you for the quick response.
>
> My main objective is to make the contents of /tmp/test.txt into a class.  
> Hence, I would like to do the reporting.
>
> bundle agent animal
> {
>        reports:
>                DOG::
>                        "I have a pet dog.";
> }
>
> Regards,
> j
>
> -----Original Message-----
> From: Aleksey Tsalolikhin [mailto:atsaloli.t...@gmail.com]
> Sent: Monday, September 12, 2011 4:15 PM
> To: Jerome Yanga
> Cc: help-cfengine@cfengine.org
> Subject: Re: CFEngine Help: how to convert vars to a class
>
> On Mon, Sep 12, 2011 at 3:58 PM, Jerome Yanga <jya...@esri.com> wrote:
>> I saw another post on how to do this but it does not seem to work for me.  
>> Please correct my syntax
>
> How's this?
>
> [cfengine00  ~]# cat /tmp/test.txt
> DOG
> [cfengine00  ~]# cat test.cf
> body common control {
>        bundlesequence => { "animal" };
> }
>
> bundle common g
> {
>       vars:
>
>               "temp"  string  =>      readfile("/tmp/test.txt", "4" );
> }
>
> bundle agent animal
> {
>       commands: "/bin/echo $(g.temp)";
>       commands:
>                       "/bin/echo I have a pet dog."
>                                ifvarclass => "$(g.temp)";
> }
> [cfengine00  ~]# cf-agent -f ./test.cf
> Q: ".../bin/echo DOG": DOG
> I: Last 1 quoted lines were generated by promiser "/bin/echo DOG"
> [cfengine00  ~]#
>
> Note the use of ifvarclass attribute to use a variable as a class; and
> the full name of the variable (including the bundle name) in g.temp.
> CFEngine bundles have scope, so you have to use the full name to call
> a variable from another bundle (even a global variable).
>
> Yours,
> -at
>
>
_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to