+### apt::update
+
+Runs `apt-get update`, updating the list of available packages and their versions without installing or upgrading any packages.
+
+The update runs on the first Puppet run after you include the class, then whenever `notify => Exec['apt_update']` occurs---this should happen when config files get updated or other relevant changes occur. If you set the `always_apt_update` parameter, the update will run on every Puppet run.
+
+### Facts
+
+There are a few facts included in the apt module describing the state of the apt system:
+
+* `apt_updates` --- the number of updates available on the system
+* `apt_security_updates` --- the number of updates which are security updates
+* `apt_package_updates` --- the package names that are available for update. In Facter 2.0 and later, this will be a list type; in earlier versions, it is a comma-delimited string.
+
+#### Hiera example
+<pre>
+apt::sources:
+ 'debian_unstable':
+ location: 'http://debian.mirror.iweb.ca/debian/'
+ release: 'unstable'
+ repos: 'main contrib non-free'
+ required_packages: 'debian-keyring debian-archive-keyring'
+ key: '9AA38DCD55BE302B'
+ key_server: 'subkeys.pgp.net'
+ pin: '-10'
+ include_src: 'true'
+ include_deb: 'true'
+
+ 'puppetlabs':
+ location: 'http://apt.puppetlabs.com'
+ repos: 'main'
+ key: '1054B7A24BD6EC30'
+ key_server: 'pgp.mit.edu'
+</pre>
+