So I have a bunch of linux servers in different groups. Each server's group
is defined as a custom fact. I want to set an array variable based on the
server's group membership, so I have code like this:
case $servergroup {
MAMMAL: { $foo = ['horse', 'cow', 'dog'] }
REPTILE: { $foo = ['gator', 'frog'] }
BIRD: { $foo = ['finch', 'chicken'] }
}
This works fine. The problem is that now I have a server that needs to be
in two groups. I know I can convert a custom fact into an array like this:
$slist = split($servergroup, ',')
But I don't know how to have each value in the array be processed through
the case statement. I tried this (using the future parser):
each($slist) |$val| { case $val {
MAMMAL: { $foo = ['horse', 'cow', 'dog'] }
REPTILE: { $foo = ['gator', 'frog'] }
BIRD: { $foo = ['finch', 'chicken'] }
}
}
But I just get an error.
(There's another issue, which is that I'll want the $foo array to append
to
the previous value rather than overwrite, but I'll deal with that after
getting over this hurdle).
Is what I'm trying possible? Am I going about this totally the wrong way?
--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/389e93a2-1655-43dc-bde8-79a595f83684%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.