help-cfengine
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Need 'UncommentAndSetValue' or some such


From: Paul Krizak
Subject: Re: Need 'UncommentAndSetValue' or some such
Date: Tue, 25 Oct 2005 10:38:57 -0500
User-agent: Mozilla Thunderbird 1.0.6 (X11/20050728)

Yeah this is a cool idea...I've thought the same thing when setting up scripts that write config files.

Maybe a 3.x or 2.2.x feature?

Paul Krizak                         5900 E. Ben White Blvd. MS 625
Advanced Micro Devices              Austin, Tx  78741
CAD Systems Engineering             Phone: (512) 602-8775
Paul.Krizak@amd.com


David Scott Coburn wrote:
In many of my cfagent script I have constructs like this:

editfiles:

        { /etc/postfix/main.cf
            BeginGroupIfNoSuchLine "mydestination = $(host), $(fqhost), 
localhost"
                DeleteLinesMatching "^mydestination.*"
                Append "mydestination = $(host), $(fqhost), localhost"
            EndGroup
            BeginGroupIfNoSuchLine "mydomain = $(domain)"
                DeleteLinesMatching "^mydomain.*"
                Append "mydomain = $(domain)"
            EndGroup
            DefineClasses "restart_postfix"
        }

The bit that bugs me the most about this construct is the repetition
of the text I am searching for and the text to replace it with.

What would be nifty would be something like this:

editfiles:

        { /etc/postfix/main.cf
            UncommentAndSetValue "mydestination ="  "$(host), $(fqhost), 
localhost"
            UncommentAndSetValue "mydomain =" "$(domain)"
            DefineClasses "restart_postfix"
        }

The first argument would be the variable that get its value changed,
and the second argument would be what it gets set to.

If the value was already set then nothing would happen.  If a variable was
changed then the DefineClass would happen.  If the variable was commented out
then it would be uncommented and set to the given value.

It seems like this kind of setting of variables in config files to some
value is half of what I use cfengine for and this would be a whole lot
easier to set up and then maintain.

Perhaps there is already a better way to do it that I have not found in
the manual yet?

Thanks,

Scott






reply via email to

[Prev in Thread] Current Thread [Next in Thread]