Hi David,

David Lutterkort wrote:
> You definitely should read up on path expressions[1] for that, and maybe
> even have a look at the test cases for them[2], since they show some
> more esoteric uses.

I'm still having a bit of a brain disconnect on converting Augeas' XPath 
stuff into Puppet types.

Here is my test Puppet entry:

augeas { "pam_set_cracklib":
    context => "/files/etc/pam.d/system-auth",
    changes => "rm *[module='pam_cracklib.so']/argument",
    onlyif  => "match *[module='pam_cracklib.so'][count(argument)>5]",
}

Which, theoretically, should remove all the arguments if the entry that 
contains the pam_cracklib.so module has more than 5 arguments.

If I run the match (in the onlyif line) in augtool, I get:

augtool> match 
/files/etc/pam.d/system-auth/*[module='pam_cracklib.so'][count(argument)>5]
/files/etc/pam.d/system-auth/8 = (none)

Which suggests that line 8 in that file matches.

However, when I run this entry in Puppet, I get:

err: //Node[testnode]/pam/Augeas[pam_set_cracklib]: Failed to retrieve 
current state of resource: Error sending command 'match' with params 
["/files/etc/pam.d/system-auth/*[module='pam_cracklib.so'][count(argument)>5]"]/Invalid
 
command: match 
/files/etc/pam.d/system-auth/*[module='pam_cracklib.so'][count(argument)>5]

Any ideas?

Essentially, what I'm trying to achieve is the capability to change 
pam.d file entries if they don't match what they're supposed to.

Thanks,
Avi

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to