Facter.add('entropy_repos') do confine :operatingsystem => :Sabayon setcode do # Use the types/providers to do the heavy lifting here repos = {} Puppet::Type.type(:entropy_repo).provider(:file).instances().each do |repo| Facter.debug(repo.enabled) r = { :repo_type => repo.repo_type, :enabled => repo.enabled, } repos[repo.name] = r end repos end end