Thanks for the suggestions... so now we have: class {'test': tport => ['1700', '1701'], }
class test ($tport) { fwport{"spoo": fport => $tport, } } define fwport ($fport) { augeas{$fport: context => "/files/etc/sysconfig/iptables/table", changes => ['ins append before append[.="INPUT"][last()]', 'defnode INPUT append[.=""] INPUT', 'set $INPUT INPUT', 'set $INPUT/match[1] state', 'set $INPUT/state NEW', 'set $INPUT/match[2] tcp', 'set $INPUT/protocol tcp', "set \$INPUT/dport $title", 'set $INPUT/jump ACCEPT'], onlyif => "match append[*]/dport[.=\"$title\"] size == 0", } } but now in the augeas resource $title is evaluated to "spoo", i would have though that it would have been the name or title passed to augeas??? very confused. Additionally if I use $fport in the changes or matches section of augeas I still get a concatenation of the array... even more confused! TIA Steve On Monday, May 28, 2012 9:13:54 PM UTC+1, Raphink wrote: > > Adding to Paul's answer, if you want to set more than one port here, > you'll probably want to make a define for a port and loop on resources. > > The define can then use augeas to set the port. > > > On Monday, May 28, 2012 5:47:52 PM UTC+2, Steve Foster wrote: >> >> Hi Folks, >> >> I'm trying to figure our why if I pass an array to a augeas resource type >> it ends up being concatenated eg for the following example I would expect >> 2 firewall rules, but instead I get one rule with the dport = 17001701 >> >> class {'test': >> port => ['1700', '1701'], >> } >> >> class test ($port) { >> >> augeas{"$port": >> context => "/files/etc/sysconfig/iptables/table", >> changes => ['ins append before append[.="INPUT"][last()]', >> 'defnode INPUT append[.=""] INPUT', >> 'set $INPUT INPUT', >> 'set $INPUT/match[1] state', >> 'set $INPUT/state NEW', >> 'set $INPUT/match[2] tcp', >> 'set $INPUT/protocol tcp', >> "set \$INPUT/dport $port", >> 'set $INPUT/jump ACCEPT'], >> onlyif => "match append[*]/dport[.=\"$port\"] size == 0", >> >> } >> } >> >> Anyone got any suggestions? >> >> Cheers >> >> Steve >> > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/zbR2TYVe8hcJ. 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.