+ apt_updates
+end
+
+Facter.add('apt_has_updates') do
+ confine osfamily: 'Debian'
+ apt_package_updates = get_updates('upgrade')
+end
+
+Facter.add('apt_has_dist_updates') do
+ confine osfamily: 'Debian'
+ apt_dist_updates = get_updates('dist-upgrade')
+end
+
+Facter.add('apt_package_updates') do
+ confine apt_has_updates: true
+ setcode do
+ apt_package_updates[0]
+ end
+end
+
+Facter.add('apt_package_dist_updates') do
+ confine apt_has_dist_updates: true
+ setcode do
+ apt_dist_updates[0]
+ end
+end
+
+Facter.add('apt_package_security_updates') do
+ confine apt_has_updates: true
+ setcode do
+ apt_package_updates[1]
+ end
+end
+
+Facter.add('apt_package_security_dist_updates') do
+ confine apt_has_dist_updates: true
+ setcode do
+ apt_dist_updates[1]
+ end
+end
+
+Facter.add('apt_updates') do
+ confine apt_has_updates: true
+ setcode do
+ Integer(apt_package_updates[0].length)
+ end
+end
+
+Facter.add('apt_dist_updates') do
+ confine apt_has_dist_updates: true
+ setcode do
+ Integer(apt_dist_updates[0].length)
+ end
+end
+
+Facter.add('apt_security_updates') do
+ confine apt_has_updates: true
+ setcode do
+ Integer(apt_package_updates[1].length)
+ end
+end
+
+Facter.add('apt_security_dist_updates') do
+ confine apt_has_dist_updates: true
+ setcode do
+ Integer(apt_dist_updates[1].length)
+ end