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
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",
}