### What apt affects
+* Your system's `preferences.list` file and `preferences.list.d` directory
* Your system's `sources.list` file and `sources.list.d` directory
* System repositories
* Authentication keys
-**Note:** Setting the apt module's `purge_sources_list` and `purge_sources_list_d` parameters to 'true' will destroy any existing content that you haven't declared through Puppet. The default for these parameters is 'false'.
+**Note:** This module offers `purge` parameters which, if set to 'true', **destroy** any configuration on the node's `sources.list(.d)` and `preferences.list(.d)` that you haven't declared through Puppet. The default for these parameters is 'false'.
### Beginning with apt
* 'https': Specifies whether to enable https proxies. Valid options: 'true' and 'false'. Default: 'false'.
+ * 'ensure': Optional parameter. Valid options: 'file', 'present', and 'absent'. Default: 'undef'. Prefer 'file' over 'present'.
+
* `purge`: Specifies whether to purge any existing settings that aren't managed by Puppet. Valid options: a hash made up from the following keys:
* 'sources.list': Specifies whether to purge any unmanaged entries from `sources.list`. Valid options: 'true' and 'false'. Default: 'false'.
* `location`: Specifies an Apt repository containing the backports to manage. Valid options: a string containing a URL. Defaults:
- * Debian (squeeze): 'http://backports.debian.org/debian-backports'
- * Debian (other): 'http://ftp.debian.org/debian/'
+ * Debian (squeeze): 'http://httpredir.debian.org/debian-backports'
+ * Debian (other): 'http://httpredir.debian.org/debian'
* Ubuntu: 'http://archive.ubuntu.com/ubuntu'
* `pin`: *Optional.* Specifies a pin priority for the backports. Valid options: a number or string to be passed to the `id` parameter of the `apt::pin` define, or a hash of `parameter => value` pairs to be passed to `apt::pin`'s corresponding parameters. Default: '200'.
* `priority`: *Optional.* Determines the order in which Apt processes the configuration file. Files with lower priority numbers are loaded first. Valid options: a string containing an integer. Default: '50'.
+* `notify_update`: *Optional.* Specifies whether to trigger an `apt-get update` run. Valid options: 'true' and 'false'. Default: 'true'.
+
#### Define: `apt::key`
Manages the GPG keys that Apt uses to authenticate packages.
#### Define: `apt::pin`
-Manages Apt pins.
+Manages Apt pins. Does not trigger an `apt-get update` run.
**Note:** For context on these parameters, we recommend reading the man page ['apt_preferences(5)'](http://linux.die.net/man/5/apt_preferences)
### Adding new sources or PPAs
-If you are adding a new source or PPA and trying to install packages from the new source or PPA on the same puppet run, in addition to depending on the `Apt::Source` or the `Apt::Ppa`, your `package` resource should depend on `Class['apt::update']`. You can also add [collectors](https://docs.puppetlabs.com/puppet/latest/reference/lang_collectors.html) to ensure all packages happen after `apt::update`, but this can lead to dependency cycles and has implications for [virtual resources](https://docs.puppetlabs.com/puppet/latest/reference/lang_collectors.html#behavior)
+If you are adding a new source or PPA and trying to install packages from the new source or PPA on the same Puppet run, your `package` resource should depend on `Class['apt::update']`, in addition to depending on the `Apt::Source` or the `Apt::Ppa`. You can also add [collectors](https://docs.puppetlabs.com/puppet/latest/reference/lang_collectors.html) to ensure that all packages happen after `apt::update`, but this can lead to dependency cycles and has implications for [virtual resources](https://docs.puppetlabs.com/puppet/latest/reference/lang_collectors.html#behavior).
~~~puppet
Class['apt::update'] -> Package<| |>