- From: Juanje Ojeda Croissier <
>
- To: chef <
>
- Subject: [chef] Re: Re: Re: Chef Recipe inserting a line before last line in fie
- Date: Mon, 10 Dec 2012 04:14:11 +0000
As I had a similar problem time ago, i did create a similar cookbook
(which is also at the community site and be installed from there):
https://github.com/juanje/cookbook-conf
There are some examples about how to use this LWRP. Maybe one of them
fit your needs.
I have one action that append a line just after specific line, but not
to prepend, but I could add this action easily if is needed.
It's something to be used just if is really no way to use a template,
it tries to be as much idempotence as it can.
On Mon, Dec 10, 2012 at 2:06 AM, charles Keagle
<
>
wrote:
>
Doesn't append add the new line to the end of the file? I need to add it
>
before a line I define.
>
>
Maybe something like:
>
prepend_if_no_line "+:mongod:cron crond" do
>
file "/etc/security/access.conf"
>
string "-: ALL : ALL"
>
end
>
>
Still looking at inserting a line before another line when necessary.
>
>
>
On 12/9/2012 12:55 AM, Sean OMeara wrote:
>
>
>
> Hi Charles!
>
>
>
> This comes up ALL THE TIME, so...
>
>
>
> I whipped up a line cookbook on the community site that'll help you out.
>
>
>
> add depends 'line' in a cookbook's metadata.rb, then in a recipe you can
>
> say:
>
>
>
> append_if_no_line "hello world" do
>
> file "/tmp/dangerfile"
>
> string "HI THERE I AM STRING"
>
> end
>
>
>
>
>
> It's alpha code cut at 4am, so let me know how it works =)
>
> -s
>
>
>
> On Sun, Dec 9, 2012 at 1:37 AM,
>
> <
>
>
> wrote:
>
>>
>
>> Hello,
>
>>
>
>> I am new to Chef and Ruby and trying to figure out the proper way to add
>
>> a line
>
>> to /etc/security/access.conf prior to the last line that denies
>
>> everything not
>
>> already defined.
>
>>
>
>> Not sure yet whether the best way is to use a Chef command of a Ruby
>
>> Block.
>
>>
>
>> I do not see a way in Chef to insert a new line searched for if the line
>
>> does
>
>> not already exist in the file prior to another line in the file.
>
>>
>
>> I thought this would work:
>
>>
>
>> file.replace_line_if_no_match but that adds it after the last line in the
>
>> file.
>
>> In security, all the entries in access.conf that allow access have to
>
>> be prior
>
>> to the line that denies everything not already allowed.
>
>>
>
>> Basically, I want to see if "+:mongod:cron crond\n" already exists. If
>
>> it
>
>> does, do not do anything. However, if it does not exist, insert it prior
>
>> to "-
>
>> : ALL : ALL\n".
>
>>
>
>> What is the best way in a Chef Recipe to do this?
>
>>
>
>> Thank you.
>
>>
>
>> ----
>
>> Charles Keagle
>
>>
>
>> 425-417-3434
>
>
>
>
--
>
Not All Who Wander Are Lost!
>
>
Charles Keagle
>
>
425-427-3434
>
--
Juanje
http://about.me/juanje
Archive powered by MHonArc 2.6.16.