I don't really think you need two separate iRules:
when CLIENT_ACCEPTED {
if { [class match [IP::client_addr] equals DGROUP_THS] } {
snatpool [class match -value [IP::client_addr] equals DGROUP_THS]
}
}
where your datagroup includes two different entries:
ltm data-group internal DGROUP-THS {
records {
10.100.6.64/27 {
data SNAT_THS
}
172.26.160.0.24 {
data SNAT_DEFAULT
}
}
type ip
}
Or if you just have a default SNAT for anything that's not in the 10.100.6.64/27 subnet:
when CLIENT_ACCEPTED {
if { [IP::addr [IP:client_addr] equals 10.100.6.64/27] } {
snatpool SNAT_THS
} else {
snatpool SNAT_DEFAULT
}
}