-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Robert,

I'm only new to puppet so I'm not sure if this is what you are after but
would the folowing work?

    file {
        smbshares:
            path => "/etc/samba/shares.conf",
            source => $hostname ? {
                nodename1 => ["puppet:///samba/shares/nodename1.conf",
"puppet:///samba/shares/default.conf"],
                nodename2 => ["puppet:///samba/shares/nodename2.conf",
"puppet:///samba/shares/default.conf"],
                default => "puppet:///samba/shares/default.conf",
            };
      }

This way it would check for the file called nodename1.conf then failing
that it would look for the default.

Cheers,

Henry



Robert Foreman wrote:
> I was wondering if it is possible to do a conditional inside a selector
to test for the existence of a file.
>
> I currently have something like this (just an excerpt):
>
>     file {
>         smbshares:
>             path => "/etc/samba/shares.conf",
>             source => $hostname ? {
>                 nodename1 => "puppet:///samba/shares/nodename1.conf",
>                 nodename2 => "puppet:///samba/shares/nodename2.conf",
>                 default => "puppet:///samba/shares/default.conf",
>             };
>       }
>
> The smb.conf does an include on /etc/samba/shares.conf so in order to
add or create custom shares I drop a file in modules/samba/files/shares
named after the hostname of the target machine and then place the
corresonding line in the file block above. It works pretty well, but
since the file is named after the hostname I was thinking it would be
pretty slick if that part were a little more dynamic.
>
> Logically speaking it would look something like this:
>
>             source => $hostname ? {
>                 [ -f puppet:///samba/shares/$hostname.conf ] =>
"puppet:///samba/shares/$hostname.conf",
>                 default => "puppet:///samba/shares/default.conf",
>             };
>
> I just can't quite seem to come up with what the syntax would need to
look. The shell syntax above is just to convey the logic I'm looking for.
>
> Any ideas, or is there a better way to do this?
>
> Thanks.
>
>
>
> >

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkklHGQACgkQ9EJQnSAhy1AEoACePEs2hSThFwEueT+tiPc/eU5I
vI8AnAp8WfYO+XURwHfs0rQU2DvQRB/p
=b+ea
-----END PGP SIGNATURE-----


--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to