Can a single promise work like this?

Maybe you need to use "/tmp/etc"

And then use a "file_select" body to set the name containing ".*.conf"

Alternatively, you could build a slist of the files in this directory and
then loop over the slist.



On 4/2/12 1:10 PM, "Aleksey Tsalolikhin" <atsaloli.t...@gmail.com> wrote:

>Hi,
>
>  I'm trying to use regular expressions to edit multiple files but
>CFengine 3.2.1 only edits one file.  Why isn't this working as I
>expect?  (I have 48 files in /tmp/etc that end in *.conf and I am
>expecting CFEngine to insert my tagline into each of these 48 files.
>But it only inserts it into one file.)
>
>{{{
>
>bundle agent example {
>
>    files:
>
>      "/tmp/etc/.*.conf"
>
>        edit_line => has_my_name_in_it,
>        pathtype => "regex",
>        comment => "Every *.conf file in /etc/ should have my name in
>it.  Demonstrate using regex to edi
>t multiple files.";
>
>}
>
>
>bundle edit_line has_my_name_in_it {
>
>    insert_lines: "# This file proudly edited by Aleksey Tsalolikhin";
>
>}
>
>}}}
>
>
>Verbose mode output shows:
>
>cf3> *****************************************************************
>cf3> BUNDLE example
>cf3> *****************************************************************
>cf3>
>cf3>
>cf3>      +  Private classes augmented:
>cf3>
>cf3>      -  Private classes diminished:
>cf3>
>cf3>
>cf3>
>cf3>    =========================================================
>cf3>    files in bundle example (1)
>cf3>    =========================================================
>cf3>
>cf3>
>cf3>     .........................................................
>cf3>     Promise handle:
>cf3>     Promise made by: /tmp/etc/.*.conf
>cf3>
>cf3>     Comment:  Every *.conf file in /etc/ should have my name in
>it.  Demonstrate using regex to edit multiple files.
>cf3>     .........................................................
>cf3>
>cf3>  -> Using regex pathtype for /tmp/etc/.*.conf (see pathtype)
>cf3>  -> Using expanded file base path /tmp/etc/warnquota.conf
>cf3>  -> Handling file existence constraints on /tmp/etc/warnquota.conf
>cf3>  -> Handling file edits in edit_line bundle has_my_name_in_it
>cf3>
>cf3>       * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>* *
>cf3>       BUNDLE has_my_name_in_it
>cf3>       * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>* *
>cf3>
>cf3> Initiate variable convergence...
>cf3>      ??  Private class context
>cf3>
>cf3>
>cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
>cf3>       insert_lines in bundle has_my_name_in_it
>cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
>cf3>
>cf3>
>cf3>     .........................................................
>cf3>     Promise handle:
>cf3>     Promise made by: # This file proudly edited by Aleksey
>Tsalolikhin
>cf3>     .........................................................
>cf3>
>cf3>  -> Promised line "# This file proudly edited by Aleksey
>Tsalolikhin" exists within selected region of /tmp/etc/warnquota.conf
>(promise kept)
>cf3>      ??  Private class context
>cf3>
>cf3>
>cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
>cf3>       insert_lines in bundle has_my_name_in_it
>cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
>cf3>
>cf3>
>cf3>     .........................................................
>cf3>     Promise handle:
>cf3>     Promise made by: # This file proudly edited by Aleksey
>Tsalolikhin
>cf3>     .........................................................
>cf3>
>cf3>  -> This promise has already been verified
>cf3>      ??  Private class context
>cf3>
>cf3>
>cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
>cf3>       insert_lines in bundle has_my_name_in_it
>cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
>cf3>
>cf3>
>cf3>     .........................................................
>cf3>     Promise handle:
>cf3>     Promise made by: # This file proudly edited by Aleksey
>Tsalolikhin
>cf3>     .........................................................
>cf3>
>cf3>  -> This promise has already been verified
>cf3>  -> No edit changes to file /tmp/etc/warnquota.conf need saving
>cf3>  -> Handling file existence constraints on /tmp/etc/warnquota.conf
>cf3>  -> Using expanded file base path /tmp/etc/nscd.conf
>cf3>  -> Handling file existence constraints on /tmp/etc/nscd.conf
>cf3>  -> This promise has already been verified
>cf3>  -> Handling file existence constraints on /tmp/etc/nscd.conf
>cf3>  -> Using expanded file base path /tmp/etc/syslog.conf
>cf3>  -> Handling file existence constraints on /tmp/etc/syslog.conf
>cf3>  -> This promise has already been verified
>cf3>  -> Handling file existence constraints on /tmp/etc/syslog.conf
>cf3>  -> Using expanded file base path /tmp/etc/dhcp6c.conf
>cf3>  -> Handling file existence constraints on /tmp/etc/dhcp6c.conf
>cf3>  -> This promise has already been verified
>cf3>  -> Handling file existence constraints on /tmp/etc/dhcp6c.conf
>...
>cf3>  -> Using expanded file base path /tmp/etc/ldap.conf
>cf3>  -> Handling file existence constraints on /tmp/etc/ldap.conf
>cf3>  -> This promise has already been verified
>cf3>  -> Handling file existence constraints on /tmp/etc/ldap.conf
>cf3>
>cf3>      +  Private classes augmented:
>cf3>
>cf3>      -  Private classes diminished:
>cf3>
>cf3>
>cf3>
>cf3>    =========================================================
>cf3>    files in bundle example (2)
>cf3>    =========================================================
>
>Best,
>Aleksey
>_______________________________________________
>Help-cfengine mailing list
>Help-cfengine@cfengine.org
>https://cfengine.org/mailman/listinfo/help-cfengine

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

Reply via email to