On 11/11/13 15:18, Jist Anidiot wrote:
> 
> 
> On Friday, November 8, 2013 12:23:11 PM UTC-5, Dominic Cleal wrote:
> 
>     On 06/11/13 21:17, Jist Anidiot wrote:
>     > I'm trying to make sure a specific user has a special ssh key used as
>     > his identity file.
>     >
>     > so I'm trying something like:
>     >
>     >  augeas{"user_second_key":
>     >     context => "/files/home/user/.ssh/config",
>     >     changes => [ "ins IdentityFile after
>     > /files/home/user/.ssh/config/IdentityFile[last()]",
>     >                  " set
>     /files/home/user/.ssh/config/IdentityFile[last()]
>     > ~/.ssh/user2nd_rsa",
>     >                  ],
>     >     onlyif => "match /files/home/user/.ssh/config/IdentityFile
>     > not_include ~/.ssh/user2nd_rsa",
>     >    
>     >   }
>     >
>     > However it adds the line every puppet run.  I'm wondering what I
>     might
>     > be doing wrong.
> 
>     Try:
> 
>     onlyif => "match
>     /files/home/user/.ssh/config/IdentityFile[.='~/.ssh/user2nd_rsa']
>     size == 0"
> 
> 
> 
> Thanks that works.  
> 
> So what's the point of include and not_include if you have to do this
> weird size thing? 

include/not_include check the return value of the "match <arg>" command
and whether it includes or doesn't include the argument.

A match API call in Augeas' API returns a list of paths that match the
argument you pass, so you're actually checking whether those paths
include or don't include a certain value.  It doesn't return the values
of those nodes, which is what you expected.

It's possible the "get <arg>" command would work better with
include/not_include, except that API call will only match a single path
and return one value value - so isn't much help with include.

We could do with something better here in the provider for sure, care to
raise a feature request?  Please add me to the watchlist if you do.

-- 
Dominic Cleal
Red Hat Engineering

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/528154E6.2060206%40redhat.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to