I went digging around to see if I could remember how I got check_yum to work without turning off selinux. I think I may have found it, but again it's been a while since I last looked/did this so it may not be correct.
file { "Nrpe_plugin_${name}":
path => "${nrpe::pluginsdir}/${name}",
owner => root,
group => root,
mode => '0755',
ensure => $ensure,
require => Package['nrpe'],
notify => Service['nrpe'],
source => "puppet:///modules/nrpe/plugin/${name}",
seluser => "system_u",
selrole => "object_r",
seltype => "nagios_unconfined_plugin_exec_t",
selrange => "s0",
}
It's not the best selinux policy and it may not work for you (again long time since I made this modification) but it may be worth a shot.